aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gfortran.dg/transpose_1.f90
blob: 9ad784ea7a2b91e530e8457c0acce4baad3a29de (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
! { dg-do compile }
! Tests the fix for PR32962, in which the result of TRANSPOSE, when
! an actual argument of an elemental intrinsic would receive the
! wrong offset.
!
! Contributed by Wirawan Purwanto <wirawan0@gmail.com>
!
  real(kind=8), allocatable :: b(:,:)
  real(kind=8) :: a(2,2), c(2,2)
  i = 2
  allocate (b(i,i))
  a(1,1) = 2
  a(2,1) = 3
  a(1,2) = 7
  a(2,2) = 11
  call foo
  call bar
  if (any (c .ne. b)) call abort
contains
  subroutine foo
    b = cos(transpose(a))
  end subroutine
  subroutine bar
    c = transpose(a)
    c = cos(c)
  end subroutine
end program