]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/testsuite/gfortran.dg/typebound_proc_4.f03
re PR fortran/37423 (Fortran 2003: DEFERRED bindings not yet implemented)
[thirdparty/gcc.git] / gcc / testsuite / gfortran.dg / typebound_proc_4.f03
CommitLineData
30b608eb
DK
1! { dg-do compile }
2
3! Type-bound procedures
4! Test for errors in specific bindings, during parsing (not resolution).
5
6MODULE testmod
7 IMPLICIT NONE
8
9 TYPE t
10 REAL :: a
11 CONTAINS
12 PROCEDURE p0 ! { dg-error "no IMPLICIT|module procedure" }
13 PRIVATE ! { dg-error "must precede" }
14 PROCEDURE p1 => proc1 ! { dg-error "::" }
15 PROCEDURE :: ! { dg-error "Expected binding name" }
16 PROCEDURE ! { dg-error "Expected binding name" }
17 PROCEDURE ? ! { dg-error "Expected binding name" }
18 PROCEDURE :: p2 => ! { dg-error "Expected binding target" }
19 PROCEDURE :: p3 =>, ! { dg-error "Expected binding target" }
20 PROCEDURE p4, ! { dg-error "Junk after" }
21 PROCEDURE :: p5 => proc2, ! { dg-error "Junk after" }
22 PROCEDURE :: p0 => proc3 ! { dg-error "already a procedure" }
23 PROCEDURE, PASS p6 ! { dg-error "::" }
24 PROCEDURE, PASS NON_OVERRIDABLE ! { dg-error "Expected" }
25 PROCEDURE PASS :: ! { dg-error "Junk after" }
26 PROCEDURE, PASS (x ! { dg-error "Expected" }
27 PROCEDURE, PASS () ! { dg-error "Expected" }
28 PROCEDURE, NOPASS, PASS ! { dg-error "illegal PASS" }
29 PROCEDURE, PASS, NON_OVERRIDABLE, PASS(x) ! { dg-error "illegal PASS" }
30 PROCEDURE, PUBLIC, PRIVATE ! { dg-error "Duplicate" }
31 PROCEDURE, NON_OVERRIDABLE, NON_OVERRIDABLE ! { dg-error "Duplicate" }
32 PROCEDURE, NOPASS, NOPASS ! { dg-error "illegal NOPASS" }
30b608eb
DK
33 END TYPE t
34
35CONTAINS
36
37END MODULE testmod
38
39! { dg-final { cleanup-modules "testmod" } }