1c { dg-do run }
2c { dg-options "-std=gnu" }
3* g77 0.5.23 and previous had bugs involving too little space
4* allocated for EQUIVALENCE and COMMON areas needing initial
5* padding to meet alignment requirements of the system.
6
7      call subr
8      end
9
10      subroutine subr
11      implicit none
12
13      character c1(11), c2(11), c3(11)
14      real r1, r2, r3
15      character c4, c5, c6
16      equivalence (r1, c1(2))
17      equivalence (r2, c2(2))
18      equivalence (r3, c3(2))
19
20      c1(1) = '1'
21      r1 = 1.
22      c1(11) = '1'
23      c4 = '4'
24      c2(1) = '2'
25      r2 = 2.
26      c2(11) = '2'
27      c5 = '5'
28      c3(1) = '3'
29      r3 = 3.
30      c3(11) = '3'
31      c6 = '6'
32
33      call x (c1, r1, c2, r2, c3, r3, c4, c5, c6)
34
35      end
36
37      subroutine x (c1, r1, c2, r2, c3, r3, c4, c5, c6)
38      implicit none
39
40      character c1(11), c2(11), c3(11)
41      real r1, r2, r3
42      character c4, c5, c6
43
44      if (c1(1) .ne. '1') call abort
45      if (r1 .ne. 1.) call abort
46      if (c1(11) .ne. '1') call abort
47      if (c4 .ne. '4') call abort
48      if (c2(1) .ne. '2') call abort
49      if (r2 .ne. 2.) call abort
50      if (c2(11) .ne. '2') call abort
51      if (c5 .ne. '5') call abort
52      if (c3(1) .ne. '3') call abort
53      if (r3 .ne. 3.) call abort
54      if (c3(11) .ne. '3') call abort
55      if (c6 .ne. '6') call abort
56
57      end
58
59