2017-02-20 Paul Thomas <pault@gcc.gnu.org>
[official-gcc.git] / gcc / testsuite / gfortran.dg / internal_references_1.f90
blob12041df9d7049a51362f80d4c8d33b05ddf2834a
1 ! { dg-do compile }
2 ! This tests the patch for PRs 24327, 25024 & 25625, which
3 ! are all connected with references to internal procedures.
4 ! This is a composite of the PR testcases; and each is
5 ! labelled by PR.
7 ! Contributed by Paul Thomas <pault@gcc.gnu.org>
9 ! PR25625 - would neglect to point out that there were 2 subroutines p.
10 module m
11 implicit none
12 contains
14 subroutine p (i) ! { dg-error "is already defined" }
15 integer :: i
16 end subroutine
18 subroutine p (i) ! { dg-error "is already defined" }
19 integer :: i
20 end subroutine
21 end module
23 ! PR25124 - would happily ignore the declaration of foo in the main program.
24 program test
25 real :: foo, x ! { dg-error "explicit interface and must not have attributes declared" }
26 x = bar () ! This is OK because it is a regular reference.
27 x = foo ()
28 contains
29 function foo () ! { dg-error "explicit interface and must not have attributes declared" }
30 foo = 1.0
31 end function foo
32 function bar ()
33 bar = 1.0
34 end function bar
35 end program test