[clang] [Clang] Fix clang crash for fopenmp statement(for) inside lambda function (PR #146772)
Shivam Gupta via cfe-commits
cfe-commits at lists.llvm.org
Mon Mar 2 01:45:34 PST 2026
================
@@ -2332,6 +2332,12 @@ void CodeGenFunction::EmitOMPPrivateLoopCounters(
for (const Expr *E : S.counters()) {
const auto *VD = cast<VarDecl>(cast<DeclRefExpr>(E)->getDecl());
const auto *PrivateVD = cast<VarDecl>(cast<DeclRefExpr>(*I)->getDecl());
+ // Privatize original counter variable (e.g., __beginN, __endN, __rangeN)
+ if (!LocalDeclMap.count(VD)) {
+ Address Addr = CreateMemTemp(VD->getType(), VD->getName());
+ LocalDeclMap.insert({VD, Addr});
+ (void)LoopScope.addPrivate(VD, Addr);
+ }
----------------
xgupta wrote:
In my analysis ordering of emitting loop counter variables was not correct in emitPreInitStmt.
https://github.com/llvm/llvm-project/pull/146772
More information about the cfe-commits
mailing list