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. 6! 7! Contributed by Paul Thomas <pault@gcc.gnu.org> 8! 9! PR25625 - would neglect to point out that there were 2 subroutines p. 10module m 11 implicit none 12contains 13 14 subroutine p (i) ! { dg-error "is already defined" } 15 integer :: i 16 end subroutine 17 18 subroutine p (i) ! { dg-error "is already defined" } 19 integer :: i 20 end subroutine 21end module 22! 23! PR25124 - would happily ignore the declaration of foo in the main program. 24program test 25real :: foo, x ! { dg-error "explicit interface and must not have attributes declared" } 26x = bar () ! This is OK because it is a regular reference. 27x = foo () 28contains 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 35end program test 36