! Program to test the ASSOCIATED intrinsic with cross-kinds
|
! Program to test the ASSOCIATED intrinsic with cross-kinds
|
program intrinsic_associated_2
|
program intrinsic_associated_2
|
logical*4 :: t4, L44, L48
|
logical*4 :: t4, L44, L48
|
logical*8 :: t8, L84, L88
|
logical*8 :: t8, L84, L88
|
real*4, pointer :: a4p(:, :)
|
real*4, pointer :: a4p(:, :)
|
real*8, pointer :: a8p(:, :)
|
real*8, pointer :: a8p(:, :)
|
real*4, target :: a4(10, 10)
|
real*4, target :: a4(10, 10)
|
real*8, target :: a8(10, 10)
|
real*8, target :: a8(10, 10)
|
|
|
t4 = .true.
|
t4 = .true.
|
t8 = .true.
|
t8 = .true.
|
t8 = t4
|
t8 = t4
|
a4p => a4
|
a4p => a4
|
a8p => a8
|
a8p => a8
|
L44 = t4 .and. associated (a4p, a4)
|
L44 = t4 .and. associated (a4p, a4)
|
L84 = t8 .and. associated (a4p, a4)
|
L84 = t8 .and. associated (a4p, a4)
|
L48 = t4 .and. associated (a8p, a8)
|
L48 = t4 .and. associated (a8p, a8)
|
L88 = t8 .and. associated (a8p, a8)
|
L88 = t8 .and. associated (a8p, a8)
|
if (.not. (L44 .and. L84 .and. L48 .and. L88)) call abort ()
|
if (.not. (L44 .and. L84 .and. L48 .and. L88)) call abort ()
|
|
|
nullify (a4p, a8p)
|
nullify (a4p, a8p)
|
L44 = t4 .and. associated (a4p, a4)
|
L44 = t4 .and. associated (a4p, a4)
|
L84 = t8 .and. associated (a4p, a4)
|
L84 = t8 .and. associated (a4p, a4)
|
L48 = t4 .and. associated (a8p, a8)
|
L48 = t4 .and. associated (a8p, a8)
|
L88 = t8 .and. associated (a8p, a8)
|
L88 = t8 .and. associated (a8p, a8)
|
if (L44 .and. L84 .and. L48 .and. L88) call abort ()
|
if (L44 .and. L84 .and. L48 .and. L88) call abort ()
|
|
|
a4p => a4(1:10:2, 1:10:2)
|
a4p => a4(1:10:2, 1:10:2)
|
a8p => a8(1:4, 1:4)
|
a8p => a8(1:4, 1:4)
|
L44 = t4 .and. associated (a4p, a4(1:10:2, 1:10:2))
|
L44 = t4 .and. associated (a4p, a4(1:10:2, 1:10:2))
|
L84 = t8 .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))
|
L48 = t4 .and. associated (a8p, a8(1:4, 1:4))
|
L88 = t8 .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)) call abort ()
|
if (.not. (L44 .and. L84 .and. L48 .and. L88)) call abort ()
|
end
|
end
|
|
|
|
|