summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/common_align_2.f90
blob: 09dd3e1fa0a4880333964db6e9d0d7582fbff44d (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 alignement 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)) call abort
  if ((i(2) .ne. 0) .or. (i(2) .ne. 0)) call abort
  if ((x .ne. z) .or. (y .ne. z)) call abort
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