2 ! { dg-prune-output "compilation terminated." }
4 ! FIRSTPRIVATE + class array
6 ! For now: Expected to give "Sorry" for polymorphic arrays.
8 ! Polymorphic arrays are tricky - at least if not allocatable, they become:
9 ! var.0 = var._data.data
10 ! which needs to be handled properly.
13 program select_type_openmp
21 class(*), allocatable
:: val1(:)
22 type(c_ptr
), allocatable
:: val2(:)
24 allocate(val1
, source
=[1, 2, 3, 4])
28 !$OMP PARALLEL firstprivate(val2)
30 if (c_associated (val2(i
))) stop 123
34 !$OMP PARALLEL firstprivate(val1) ! { dg-error "Sorry, polymorphic arrays not yet supported for firstprivate" }
37 if (size(val1
) /= 4) stop 33
38 if (any (val1
/= [1, 2, 3, 4])) stop 4549
45 if (size(val1
) /= 4) stop 33
46 if (any (val1
/= [32,6,48,28])) stop 4512
54 if (size(val1
) /= 4) stop 33
55 if (any (val1
/= [1, 2, 3, 4])) stop 454
61 end program select_type_openmp