diff options
author | Thirumalai Shaktivel <74826228+Thirumalai-Shaktivel@users.noreply.github.com> | 2025-03-07 09:24:32 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-03-07 09:24:32 +0530 |
commit | e15545cad8297ec7555f26e5ae74a9f0511203e7 (patch) | |
tree | ca16d53b523853c0bff97793c621e8a82326c7ea /llvm/lib/IR/Module.cpp | |
parent | f3dc358953a13caf7521fc615a08f6317930351c (diff) | |
download | llvm-e15545cad8297ec7555f26e5ae74a9f0511203e7.zip llvm-e15545cad8297ec7555f26e5ae74a9f0511203e7.tar.gz llvm-e15545cad8297ec7555f26e5ae74a9f0511203e7.tar.bz2 |
[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
Diffstat (limited to 'llvm/lib/IR/Module.cpp')
0 files changed, 0 insertions, 0 deletions