This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c/64765] New: [OpenACC] Bogus "'copy' is not valid for '#pragma acc kernels loop'"


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(;;) {}
}


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]