Meinersbur added inline comments.
================ Comment at: clang/lib/Sema/SemaExpr.cpp:17274 + if (IsTopScope && Kind != Sema::TryCapture_Implicit) { + ByRef = (Kind == Sema::TryCapture_ExplicitByRef); + } else if (S.getLangOpts().OpenMP && RSI->CapRegionKind == CR_OpenMP) { ---------------- jdoerfert wrote: > This doesn't impact anyone else negatively? I don't understand why we need > this now. This taken from how implicit lambda captures are handled: for nested lambdas, only the outermost lambda captures byval, the remaining use that existing copy. I think there are no other uses of CaptureStmt that have explicit captures, I am introducing the first. With removing the assertion and therefore effectively allowing byval captures for CapturedStmts, I intended to make its behaviour resemble that of lambdas (`captureInLambda`). ================ Comment at: llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp:986 + if (BodyGenCB) + BodyGenCB(CL->getBodyIP(), CL->getIndVar()); ---------------- jdoerfert wrote: > I'm unsure I understand when it would make sense to not have a body generator. As done by EmitOMPCanonicalLoop, the body code can also added to `CL->getBodyIP()` to the CL returned by this function. Calling the callback is the last action done anyway, using the callback just makes the code harder to understand. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D94973/new/ https://reviews.llvm.org/D94973 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits