[PATCH] D127803: Generate the capture for field when the field is used in openmp region with implicit default in the member function.
Alexey Bataev via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Jul 1 09:23:51 PDT 2022
ABataev added inline comments.
================
Comment at: clang/lib/Sema/SemaOpenMP.cpp:2273-2274
+bool Sema::isOpenMPRebuildMemberExpr(ValueDecl *D) {
+ if (getCurCapturedRegion() &&
+ getCurCapturedRegion()->CapRegionKind == CR_OpenMP) {
+ DSAStackTy::DSAVarData DVarPrivate = DSAStack->hasDSA(
----------------
jyu2 wrote:
> ABataev wrote:
> > What if we have another outer OpenMP region, something like lambda inside OpenMP region?
> My understanding is that hasDSA will go up to find innermost openmp region which has default clause. Am I right here?
Yes, if you're immediate captured region is OpenMP region. But what if you're inside lambda, which is inside OpenMP region? In this case getCurCapturedRegion()->CapRegionKind != CR_OpenMP. Will it still work, could add a test for this situation?
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