[all-commits] [llvm/llvm-project] e15545: [Flang][OpenMP] Allow copyprivate and nowait on th...
Thirumalai Shaktivel via All-commits
all-commits at lists.llvm.org
Thu Mar 6 19:54:54 PST 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: e15545cad8297ec7555f26e5ae74a9f0511203e7
https://github.com/llvm/llvm-project/commit/e15545cad8297ec7555f26e5ae74a9f0511203e7
Author: Thirumalai Shaktivel <74826228+Thirumalai-Shaktivel at users.noreply.github.com>
Date: 2025-03-07 (Fri, 07 Mar 2025)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/test/Semantics/OpenMP/clause-validity01.f90
A flang/test/Semantics/OpenMP/single03.f90
A flang/test/Semantics/OpenMP/single04.f90
M flang/test/Semantics/OpenMP/threadprivate04.f90
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
[Flang][OpenMP] Allow copyprivate and nowait on the directive clauses (#127769)
Issue:
- Single construct used to throw a semantic error for copyprivate and
nowait clause when used in the single directive.
- Also, the copyprivate with nowait restriction has been removed from
OpenMP 6.0
Fix:
- Allow copyprivate and nowait on both single and end single directive
- Allow at most one nowait clause
- Throw a warning when the same list item is used in the copyprivate clause
on the end single directive
>From Reference guide (OpenMP 5.2, 2.10.2):
```
!$omp single [clause[ [,]clause] ... ]
loosely-structured-block
!$omp end single [end-clause[ [,]end-clause] ...]
clause:
copyprivate (list)
nowait
[...]
end-clause:
copyprivate (list)
nowait
```
Towards: https://github.com/llvm/llvm-project/issues/110008
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list