aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/common_align_2.f90
blob: 6138d05a066115249cb0e9b2934d757d241604c1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
! { dg-do run }
! { dg-options "-pedantic-errors -mdalign" { target sh*-*-* } }
! Tests the fix for PR37614, in which the alignment of commons followed
! g77 rather than the standard or other compilers.
!
! Contributed by Tobias Burnus  <burnus@gcc.gnu.org>
!
subroutine foo (z)
  real(8) x, y, z
  common i(8)
  equivalence (x, i(3)),(y,i(7))
  if ((i(1) .ne. 42) .or. (i(5) .ne. 43)) STOP 1
  if ((i(2) .ne. 0) .or. (i(2) .ne. 0)) STOP 2
  if ((x .ne. z) .or. (y .ne. z)) STOP 3
end subroutine

subroutine bar
  common i(8)
  i = 0
end subroutine

  real(8) x, y
  common i, x, j, y ! { dg-warning "Padding" }
  call bar
  i = 42
  j = 43
  x = atan (1.0)*4.0
  y = x
  call foo (x)
end