https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108512

--- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> ---
Correction: I think I linked the wrong file, it should be:

https://github.com/SOLLVE/sollve_vv/blob/master/tests/5.0/loop/test_loop_lastprivate_device.F90

 * * *

Probably better location is the following, which gives the diagnost shown below

+      p->where = omp_current_ctx->code->loc;



Namely, this gives for 'x' and 'y':

   85 |     !$omp target parallel num_threads(OMPVV_NUM_THREADS_DEVICE)
map(tofrom: a, b, x, y)
      |                                                                1



And for 'x':

   48 |     !$omp target parallel num_threads(OMPVV_NUM_THREADS_DEVICE)
map(tofrom: a, b, x)
      |                                                             1
Error: Symbol 'x' present on multiple clauses at (1)



The latter code is:

    !$omp target parallel num_threads(OMPVV_NUM_THREADS_DEVICE) map(tofrom: a,
b, x)
    !$omp loop lastprivate(x)
    DO x = 1, NSIZE
      a(x) = a(x) + b(x)
    END DO
    !$omp end loop
    !$omp end target parallel

Reply via email to