2017-02-20 Paul Thomas <pault@gcc.gnu.org>
[official-gcc.git] / gcc / testsuite / gfortran.dg / assumed_charlen_function_3.f90
blob912126fe72ac5c437c851d42593ee7fa53faa7ed
1 ! { dg-do compile }
2 ! Tests the patch for PRs 25084, 20852, 25085 and 25086, all of
3 ! which involve assumed character length functions.
4 ! This test checks the things that should not emit errors.
6 ! Contributed by Paul Thomas <pault@gcc.gnu.org>
8 function is_OK (ch) ! { dg-warning "Obsolescent feature" }
9 character(*) is_OK, ch ! OK in an external function
10 is_OK = ch
11 end function is_OK
13 ! The warning occurs twice for the next line; for 'more_OK' and for 'fcn';
14 function more_OK (ch, fcn) ! { dg-warning "Obsolescent feature" }
15 character(*) more_OK, ch
16 character (*), external :: fcn ! OK as a dummy argument
17 more_OK = fcn (ch)
18 end function more_OK
20 character(4) :: answer
21 character(4), external :: is_OK, more_OK
23 answer = is_OK ("isOK") ! LEN defined in calling scope
24 print *, answer
26 answer = more_OK ("okay", is_OK) ! Actual arg has defined LEN
27 print *, answer
29 answer = also_OK ("OKOK")
30 print *, answer
32 contains
33 function also_OK (ch)
34 character(4) also_OK
35 character(*) ch
36 also_OK = is_OK (ch) ! LEN obtained by host association
37 end function also_OK
38 END