blob: 04a1437958a990567c4a317791c4801dc69a3b70 [file] [log] [blame]
! { dg-do run }
! Test fix for PR114141
! Contributed by Steve Kargl <sgk@troutmask.apl.washington.edu>
program foo
implicit none
real :: y = 0.0
associate (x => log(cmplx(-1,0)))
y = x%im ! Gave 'Symbol ‘x’ at (1) has no IMPLICIT type'
if (int(100*y)-314 /= 0) stop 1
end associate
! Check wrinkle in comment 1 (parentheses around selector) of the PR is fixed.
associate (x => ((log(cmplx(-1,1)))))
y = x%im ! Gave 'The RE or IM part_ref at (1) must be applied to a
! COMPLEX expression'
if (int(100*y)-235 /= 0) stop 2
end associate
! Check that more complex(pun intended!) expressions are OK.
associate (x => exp (log(cmplx(-1,0))+cmplx(0,0.5)))
y = x%re ! Gave 'Symbol ‘x’ at (1) has no IMPLICIT type'
if (int(1000*y)+877 /= 0) stop 3
end associate
! Make sure that AIMAG intrinsic is OK.
associate (x => ((log(cmplx(-1,0.5)))))
y = aimag (x)
if (int(100*y)-267 /= 0) stop 4
end associate
end program