! 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)) call abort () 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) call abort () 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)) call abort () end