https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64765
Bug ID: 64765 Summary: [OpenACC] Bogus "'copy' is not valid for '#pragma acc kernels loop'" Product: gcc Version: 5.0 Status: UNCONFIRMED Keywords: openacc, rejects-valid Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: burnus at gcc dot gnu.org CC: tschwinge at gcc dot gnu.org The following program gives foo.c:2:36: error: 'copy' is not valid for '#pragma acc kernels loop' foo.c:2:26: error: 'create' is not valid for '#pragma acc kernels loop' #pragma acc kernels loop create(f) copy(r) ^ I believe copy and create are invalid for LOOP but they should be valid for KERNELS - and, hence, also for KERNEL LOOPS. (The equivalent Fortran program compiles.) Test case: void foo(float *f, double *r) { #pragma acc kernels loop create(f) copy(r) for(;;) {} }