[PATCH] D127803: Generate the capture for field when the field is used in openmp region with implicit default in the member function.

Jennifer Yu via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Jun 30 18:16:52 PDT 2022


jyu2 added inline comments.


================
Comment at: clang/lib/Sema/SemaOpenMP.cpp:212
+    };
+    /// List of captuer fields
+    llvm::SmallVector<ImplicitDefaultFDInfoTy, 8>
----------------
ABataev wrote:
> Captured?
Fixed.  Thanks.


================
Comment at: clang/lib/Sema/TreeTransform.h:122
+  /// the RebuildME uses to set if member expression needs to be rebuilt.
+  bool RebuildME = false;
+
----------------
ABataev wrote:
> jyu2 wrote:
> > ABataev wrote:
> > > I think we don't need to add a new field here. Can instead we have a check for regions with default clauses, if possible?
> > It seems during the TransformMemberExpr, I can not get Directives info for omp regions to check.  Could you give me hand? 
> > Thanks.  
> > 
> Yes, we do not rebuild the DSA stack at the time of the instantiation. Can you just check that we're inside OpenMPCapturedRegion? Something like getCurCapturedRegion()->CapRegionKind == CR_OpenMP? Or walk the stack of regions to find the outer OpenMP region, if any.
Thank you so much for the help.  I add new function in Sema to do this.  Hope that is okay with you.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D127803/new/

https://reviews.llvm.org/D127803



More information about the cfe-commits mailing list