[clang] [OpenMP][Clang] Enable inscan modifier for generic datatypes (PR #82220)
via cfe-commits
cfe-commits at lists.llvm.org
Sun Feb 18 22:59:01 PST 2024
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-clang
Author: Animesh Kumar (animeshk-amd)
<details>
<summary>Changes</summary>
This patch fixes the #<!-- -->67002 ([OpenMP][Clang] Scan Directive not supported for Generic types). It disables the Sema checks/analysis that are run on the helper arrays which go into the implementation of the `omp scan` directive until the template instantiation happens.
Grateful to @<!-- -->alexey-bataev for suggesting these changes.
---
Full diff: https://github.com/llvm/llvm-project/pull/82220.diff
1 Files Affected:
- (modified) clang/lib/Sema/SemaOpenMP.cpp (+2-1)
``````````diff
diff --git a/clang/lib/Sema/SemaOpenMP.cpp b/clang/lib/Sema/SemaOpenMP.cpp
index 7f75cfc5b54f35..f4364a259ad57f 100644
--- a/clang/lib/Sema/SemaOpenMP.cpp
+++ b/clang/lib/Sema/SemaOpenMP.cpp
@@ -4962,7 +4962,8 @@ StmtResult Sema::ActOnOpenMPRegionEnd(StmtResult S,
if (RC->getModifier() != OMPC_REDUCTION_inscan)
continue;
for (Expr *E : RC->copy_array_temps())
- MarkDeclarationsReferencedInExpr(E);
+ if (E)
+ MarkDeclarationsReferencedInExpr(E);
}
if (auto *AC = dyn_cast<OMPAlignedClause>(C)) {
for (Expr *E : AC->varlists())
``````````
</details>
https://github.com/llvm/llvm-project/pull/82220
More information about the cfe-commits
mailing list