https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93029
Bug ID: 93029 Summary: [OpenACC] no_create fails with component use of aggregated types Product: gcc Version: 10.0 Status: UNCONFIRMED Keywords: openacc Severity: normal Priority: P3 Component: libgomp Assignee: unassigned at gcc dot gnu.org Reporter: burnus at gcc dot gnu.org CC: jakub at gcc dot gnu.org, tschwinge at gcc dot gnu.org Target Milestone: --- The OG9 (openacc-gcc-9) branch has two test cases for 'no_create' (trunk: r279551) which depended on the just committed deep-copying patch set. As the latter has now been committed (r279620 to r279631), https://gcc.gnu.org/ml/gcc-patches/2019-12/threads.html#01247 … … one can try to run the two testcases OG9: openacc-gcc-9-branch/libgomp/testsuite/libgomp.oacc-c-c++-common/nocreate-3.c OG9: openacc-gcc-9-branch/libgomp/testsuite/libgomp.oacc-c-c++-common/nocreate-4.c TODO: Add also a Fortran test case. Well, the result is: * nocreate-4.c does run fine * nocreate-3.c: FAILS (with nvptx offloading) with: libgomp: pointer target not mapped for attach The source code for -3 has: #pragma acc data copyin(s) #pragma acc parallel no_create(s.y[0:N]) copyout(devptr) where 's.y' is a malloc'ed pointer. The omplower dump shows: #pragma omp target oacc_data map(to:s [len: 16]) #pragma omp target oacc_parallel map(from:devptr [len: 8]) map(struct:s [len: 1]) map(alloc:s.y [len: 8]) map(no_alloc:*D.3228 [len: 512]) map(attach:s.y [bias: 0]) Note: The OG9 branch, cf. commit 8e74c2ec2b90819c995444370e742864a685209f, handles the offloading differently than the trunk (r279551, https://gcc.gnu.org/ml/gcc-patches/2019-12/msg01292.html ) On the other hand, as no_create did not really work,* it might be also broken on the branch. (* cf. https://gcc.gnu.org/ml/gcc-patches/2019-11/msg01453.html and prior in the thread.)