2 ! { dg-options "-fdec-structure -fmax-errors=0" }
4 ! Comprehensive compile tests for what structures CAN'T do.
7 ! Old-style (clist) initialization
8 integer,parameter :: as
= 3
10 integer*1 a
/300_2/ ! { dg-error "Arithmetic overflow" }
11 integer b
// ! { dg-error "Empty old style initializer list" }
12 integer c
/2*3/ ! { dg-error "Repeat spec invalid in scalar" }
13 integer d
/1,2,3/ ! { dg-error "End of scalar initializer expected" }
14 integer e
/"HI"/ ! { dg-error "Can't convert" }
15 integer f(as
) /4*9/ ! { dg-error "Too many elements" }
16 integer g(3) /1,3/ ! { dg-error "Not enough elements" }
17 integer h(3) /1,3,5,7/ ! { dg-error "Too many elements" }
18 integer i(3) /2*1/ ! { dg-error "Not enough elements" }
19 integer j(3) /10*1/ ! { dg-error "Too many elements" }
20 integer k(3) /2.5*3/ ! { dg-error "Repeat spec must be an integer" }
21 integer l(2) /2*/ ! { dg-error "Expected data constant" }
22 integer m(1) / ! { dg-error "Syntax error in old style" }
23 integer n(2) /1 ! { dg-error "Syntax error in old style" }
24 integer o(2) /1, ! { dg-error "Syntax error in old style" }
25 integer p(1) /x
/ ! { dg-error "must be a PARAMETER" }
28 structure ! { dg-error "Structure name expected" }
29 structure / ! { dg-error "Structure name expected" }
30 structure // ! { dg-error "Structure name expected" }
31 structure /.or
./ ! { dg-error "Structure name expected" }
32 structure /integer/ ! { dg-error "Structure name.*cannot be the same" }
33 structure /foo
/ bar
! { dg-error "Junk after" }
34 structure /t1
/ ! { dg-error "Type definition.*T1" }
36 record ! { dg-error "Structure name expected" }
37 record bar
! { dg-error "Structure name expected" }
38 record / bar
! { dg-error "Structure name expected" }
39 record // bar
! { dg-error "Structure name expected" }
40 record foo
/ bar
! { dg-error "Structure name expected" }
41 record /foo bar
! { dg-error "Structure name expected" }
42 record /foo
/ bar
! { dg-error "used before it is defined" }
43 record /t1
/ ! { dg-error "Invalid character in name" }
46 ENTRY here
! { dg-error "ENTRY statement.*cannot appear" }
48 integer a
! { dg-error "Component.*already declared" }
49 structure $z
! { dg-error "Invalid character in name" }
50 structure // ! { dg-error "Invalid character in name" }
51 structure // x
! { dg-error "Invalid character in name" }
52 structure /t3
/ ! { dg-error "Invalid character in name" }
53 structure /t3
/ x
,$y
! { dg-error "Invalid character in name" }
57 structure /t4
/ z
! { dg-error "Type definition.*T4" }