https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104545
Bug ID: 104545
Summary: [OpenMP & Fortran] Pointers issue in combination of
depobj construct and depend clause with depobj
dependence-type
Product: gcc
Version: 12.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
Assignee: unassigned at gcc dot gnu.org
Reporter: marcel at codesourcery dot com
Target Milestone: ---
Created attachment 52445
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=52445&action=edit
test which fails due to the issue
Defining a dependence object "obj1" for a pointer "p" with:
!$omp depobj(obj1) depend(in: p)
is not correctly considered at execution time when used in a depend clause
like:
!$omp task depend(depobj: obj1)
even if the pointer is associated. This effects for instance that tasks in a
parallel construct are not executed in the correct order (see attached test
case).
This is not an issue if the locator ("p") has type integer e.g. but does not
work with pointer type.
This is not an issue for C/C++, only for Fortran.
A complete test case which fails due to this issue is attached.