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

            Bug ID: 97212
           Summary: [OpenMP] 'depend' clause with 'target nowait' (!) +
                    'task' does not work
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Keywords: openmp, wrong-code
          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
  Target Milestone: ---

Created attachment 49274
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=49274&action=edit
C testcase, run with -fopenmp

The SOLLVE_VV testcase
https://github.com/SOLLVE/sollve_vv/blob/master/tests/4.5/task/test_target_and_task_nowait.c

FAILS. Note: It also fails with a compiler which is not even configured for
offloading and, hence, everything is run on the host.


It uses with 'nowait' and 'depend':

#pragma omp target map(tofrom: a, sum) depend(out: a) nowait
  ... (set 'a') ...

#pragma omp task depend(in: a) shared(a,errors)
  ... check value of ...

A comment indicates a problem with real-world code:

// This test checks if dependence expressed on target and task 
// regions are honoured in the presense of nowait.
// This test is motivated by OpenMP usage in QMCPack.

Reply via email to