diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2019-05-31 00:45:10 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2019-05-31 00:45:10 +0000 |
commit | 0621a8f353631c72e497dba01790b39f83943679 (patch) | |
tree | c4dbd8e392f5c177ca2477e670bf8c68f99d3db5 /clang/lib/Sema/SemaDecl.cpp | |
parent | 2fdd95c1c823ebafc9286f7b730339c38636c5a8 (diff) | |
download | bcm5719-llvm-0621a8f353631c72e497dba01790b39f83943679.tar.gz bcm5719-llvm-0621a8f353631c72e497dba01790b39f83943679.zip |
Defer capture initialization for captured regions until after we've left
the captured region scope.
This removes a case where we would build expressions (and mark
declarations odr-used) in the wrong scope.
Remove the now-unused 'capture initializer' field on sema::Capture
(except for 'this' captures, which still need to be cleaned up).
No functionality change intended (except that we now very slightly more
precisely determine whether we need to use a capture or not when another
captured region encloses an OpenMP captured region).
llvm-svn: 362179
Diffstat (limited to 'clang/lib/Sema/SemaDecl.cpp')
-rw-r--r-- | clang/lib/Sema/SemaDecl.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp index fbc410f014d..759eb531c50 100644 --- a/clang/lib/Sema/SemaDecl.cpp +++ b/clang/lib/Sema/SemaDecl.cpp @@ -12939,7 +12939,7 @@ static void RebuildLambdaScopeInfo(CXXMethodDecl *CallOperator, /*RefersToEnclosingVariableOrCapture*/true, C.getLocation(), /*EllipsisLoc*/C.isPackExpansion() ? C.getEllipsisLoc() : SourceLocation(), - CaptureType, /*Expr*/ nullptr, /*Invalid*/false); + CaptureType, /*Invalid*/false); } else if (C.capturesThis()) { LSI->addThisCapture(/*Nested*/ false, C.getLocation(), I->getType(), |