28 lines
586 B
Fortran
28 lines
586 B
Fortran
|
! { 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
|