fix pr/45972
[official-gcc.git] / gcc / testsuite / gfortran.dg / proc_decl_11.f90
blob74c0680692ae296ef211bce7b7d6150cc337097b
1 ! { dg-do compile }
2 ! PR fortran/33917
4 ! Depending, in which order the symbol tree
5 ! was walked in resolve, gfortran resolved
6 ! p6 before p4; thus there was no explicit
7 ! interface available for p4 and an error
8 ! was printed. (This is a variant of proc_decl_2.f90)
10 ! Additionally, the following contrain was not honoured:
11 ! "C1212 (R1215) [...] If name is declared by a procedure-declaration-stmt
12 ! it shall be previously declared." ("name" = interface-name)
14 program s
15 implicit none
16 procedure() :: q2
17 procedure() :: q3
18 procedure() :: q5
19 procedure(sub) :: p4
20 procedure(p4) :: p6
21 contains
22 subroutine sub
23 end subroutine
24 end program s
26 subroutine test
27 implicit none
28 abstract interface
29 subroutine sub()
30 end subroutine sub
31 end interface
32 procedure(p4) :: p6 ! { dg-error "declared in a later PROCEDURE statement" }
33 procedure(sub) :: p4
34 end subroutine test