blob: c7ed8509b29797ad1b98c0f318fd72799edf4d83 [file] [log] [blame]
! Program to test the ASSOCIATED intrinsic with cross-kinds
program intrinsic_associated_2
logical*4 :: t4, L44, L48
logical*8 :: t8, L84, L88
real*4, pointer :: a4p(:, :)
real*8, pointer :: a8p(:, :)
real*4, target :: a4(10, 10)
real*8, target :: a8(10, 10)
t4 = .true.
t8 = .true.
t8 = t4
a4p => a4
a8p => a8
L44 = t4 .and. associated (a4p, a4)
L84 = t8 .and. associated (a4p, a4)
L48 = t4 .and. associated (a8p, a8)
L88 = t8 .and. associated (a8p, a8)
if (.not. (L44 .and. L84 .and. L48 .and. L88)) STOP 1
nullify (a4p, a8p)
L44 = t4 .and. associated (a4p, a4)
L84 = t8 .and. associated (a4p, a4)
L48 = t4 .and. associated (a8p, a8)
L88 = t8 .and. associated (a8p, a8)
if (L44 .and. L84 .and. L48 .and. L88) STOP 2
a4p => a4(1:10:2, 1:10:2)
a8p => a8(1:4, 1:4)
L44 = t4 .and. associated (a4p, a4(1:10:2, 1:10:2))
L84 = t8 .and. associated (a4p, a4(1:10:2, 1:10:2))
L48 = t4 .and. associated (a8p, a8(1:4, 1:4))
L88 = t8 .and. associated (a8p, a8(1:4, 1:4))
if (.not. (L44 .and. L84 .and. L48 .and. L88)) STOP 3
end