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

Reply via email to