[Bug fortran/69090] New: Allocatable arrays mishandled in 'omp declare target'
amonakov at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Dec 30 16:42:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69090
Bug ID: 69090
Summary: Allocatable arrays mishandled in 'omp declare target'
Product: gcc
Version: unknown
Status: UNCONFIRMED
Keywords: openmp
Severity: normal
Priority: P3
Component: fortran
Assignee: unassigned at gcc dot gnu.org
Reporter: amonakov at gcc dot gnu.org
CC: jakub at gcc dot gnu.org
Target Milestone: ---
Compiling and running the following testcase with non-shared-memory accelerator
segfaults in the target region, because only pointed-to data of the allocatable
array is copied, but not the array structure (.data, .offset fields) itself.
>From my reading of the OpenMP spec, allocatable arrays are not explicitely
allowed in the 'declare target' directive, so the code is ill-formed. However,
no diagnostic is issued, and generally I don't know what GCC intends to do
here.
(notably, this test works fine without the 'declare target' directive)
DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:), SAVE :: arr
!$omp declare target(arr)
ALLOCATE(arr(16384))
!$omp target
arr(2) = 1
!$omp end target
END PROGRAM
More information about the Gcc-bugs
mailing list