OSDN Git Service

PR debug/43557
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gfortran.dg / proc_decl_11.f90
1 ! { dg-do compile }
2 ! PR fortran/33917
3 !
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)
9 !
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)
13 !
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
25
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