re PR fortran/78741 (ICE in gfc_get_symbol_decl, at fortran/trans-decl.c:1534)
[official-gcc.git] / gcc / testsuite / gfortran.dg / g77 / 980628-3.f
blob40656002ce3a117f079d3ca7c9f914bb9adc045c
1 c { dg-do run }
2 c { dg-options "-std=gnu" }
4 * g77 0.5.23 and previous had bugs involving too little space
5 * allocated for EQUIVALENCE and COMMON areas needing initial
6 * padding to meet alignment requirements of the system.
8 call subr
9 end
11 subroutine subr
12 implicit none
13 save
15 character c1(11), c2(11), c3(11)
16 real r1, r2, r3
17 character c4, c5, c6
18 equivalence (c1(2), r1)
19 equivalence (c2(2), r2)
20 equivalence (c3(2), r3)
22 c1(1) = '1'
23 r1 = 1.
24 c1(11) = '1'
25 c4 = '4'
26 c2(1) = '2'
27 r2 = 2.
28 c2(11) = '2'
29 c5 = '5'
30 c3(1) = '3'
31 r3 = 3.
32 c3(11) = '3'
33 c6 = '6'
35 call x (c1, r1, c2, r2, c3, r3, c4, c5, c6)
37 end
39 subroutine x (c1, r1, c2, r2, c3, r3, c4, c5, c6)
40 implicit none
42 character c1(11), c2(11), c3(11)
43 real r1, r2, r3
44 character c4, c5, c6
46 if (c1(1) .ne. '1') STOP 1
47 if (r1 .ne. 1.) STOP 2
48 if (c1(11) .ne. '1') STOP 3
49 if (c4 .ne. '4') STOP 4
50 if (c2(1) .ne. '2') STOP 5
51 if (r2 .ne. 2.) STOP 6
52 if (c2(11) .ne. '2') STOP 7
53 if (c5 .ne. '5') STOP 8
54 if (c3(1) .ne. '3') STOP 9
55 if (r3 .ne. 3.) STOP 10
56 if (c3(11) .ne. '3') STOP 11
57 if (c6 .ne. '6') STOP 12
59 end