Mercurial > hg > CbC > CbC_gcc
diff gcc/testsuite/gfortran.dg/assumed_charlen_function_3.f90 @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gcc/testsuite/gfortran.dg/assumed_charlen_function_3.f90 Fri Oct 27 22:46:09 2017 +0900 @@ -0,0 +1,39 @@ +! { dg-do compile } +! Tests the patch for PRs 25084, 20852, 25085 and 25086, all of +! which involve assumed character length functions. +! This test checks the things that should not emit errors. +! +! Contributed by Paul Thomas <pault@gcc.gnu.org> +! +function is_OK (ch) ! { dg-warning "Obsolescent feature" } + character(*) is_OK, ch ! OK in an external function + is_OK = ch +end function is_OK + +! The warning occurs twice for the next line; for 'more_OK' and for 'fcn'; +function more_OK (ch, fcn) ! { dg-warning "Obsolescent feature" } + character(*) more_OK, ch + character (*), external :: fcn ! OK as a dummy argument + more_OK = fcn (ch) +end function more_OK + + character(4) :: answer + character(4), external :: is_OK, more_OK + + answer = is_OK ("isOK") ! LEN defined in calling scope + print *, answer + + answer = more_OK ("okay", is_OK) ! Actual arg has defined LEN + print *, answer + + answer = also_OK ("OKOK") + print *, answer + +contains + function also_OK (ch) + character(4) also_OK + character(*) ch + also_OK = is_OK (ch) ! LEN obtained by host association + end function also_OK +END +