6 TYPE(myType
), DIMENSION(:), POINTER :: x
7 TYPE(myType
), DIMENSION(:), contiguous
, POINTER :: y
13 type(myType
) :: argument
15 !$OMP PARALLEL DEFAULT(NONE) PRIVATE(argument)
19 if (.not
.associated(argument
%x
) .or
. size(argument
%x
) /= 2) stop 2
20 if (argument
%a
/= 8 .or
. argument
%b
/= 9 &
21 .or
. any(argument
%x(:)%a
/= [2, 3]) &
22 .or
. any(argument
%x(:)%b
/= [9, 1])) stop 3
23 if (.not
.associated(argument
%y
) .or
. size(argument
%y
) /= 3) stop 4
24 if (any(argument
%y(:)%a
/= [11, 22, 33]) &
25 .or
. any(argument
%y(:)%b
/= [44, 55, 66])) stop 5
26 deallocate (argument
%x
, argument
%y
)
28 end subroutine openmp_sub
30 type(myType
), intent(inout
) :: x
32 if (x
%a
/= 5 .or
. x
%b
/= 7) stop 1
38 x
%y(:)%a
= [11, 22, 33]
39 x
%y(:)%b
= [44, 55, 66]