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-1.f
blobb298b0a1aa695924f05e9737142f08bc04bc30ee
1 c { dg-do run }
2 * g77 0.5.23 and previous had bugs involving too little space
3 * allocated for EQUIVALENCE and COMMON areas needing initial
4 * padding to meet alignment requirements of the system.
6 call subr
7 end
9 subroutine subr
10 implicit none
11 save
13 real r1(5), r2(5), r3(5)
14 double precision d1, d2, d3
15 integer i1, i2, i3
16 equivalence (r1(2), d1)
17 equivalence (r2(2), d2)
18 equivalence (r3(2), d3)
20 r1(1) = 1.
21 d1 = 10.
22 r1(4) = 1.
23 r1(5) = 1.
24 i1 = 1
25 r2(1) = 2.
26 d2 = 20.
27 r2(4) = 2.
28 r2(5) = 2.
29 i2 = 2
30 r3(1) = 3.
31 d3 = 30.
32 r3(4) = 3.
33 r3(5) = 3.
34 i3 = 3
36 call x (r1, d1, i1, r2, d2, i2, r3, d3, i3)
38 end
40 subroutine x (r1, d1, i1, r2, d2, i2, r3, d3, i3)
41 implicit none
43 real r1(5), r2(5), r3(5)
44 double precision d1, d2, d3
45 integer i1, i2, i3
47 if (r1(1) .ne. 1.) STOP 1
48 if (d1 .ne. 10.) STOP 2
49 if (r1(4) .ne. 1.) STOP 3
50 if (r1(5) .ne. 1.) STOP 4
51 if (i1 .ne. 1) STOP 5
52 if (r2(1) .ne. 2.) STOP 6
53 if (d2 .ne. 20.) STOP 7
54 if (r2(4) .ne. 2.) STOP 8
55 if (r2(5) .ne. 2.) STOP 9
56 if (i2 .ne. 2) STOP 10
57 if (r3(1) .ne. 3.) STOP 11
58 if (d3 .ne. 30.) STOP 12
59 if (r3(4) .ne. 3.) STOP 13
60 if (r3(5) .ne. 3.) STOP 14
61 if (i3 .ne. 3) STOP 15
63 end