summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/TreeTransform.h
diff options
context:
space:
mode:
authorJames Dennett <jdennett@google.com>2015-05-07 18:48:18 +0000
committerJames Dennett <jdennett@google.com>2015-05-07 18:48:18 +0000
commitdd2ffea28893a3bb59c3e46baddec631bdc68462 (patch)
treef66a6fa469f57da65e4af75b9d5e1fcd86eb7b4f /clang/lib/Sema/TreeTransform.h
parent3d415cd2cd7949340c3cf181b8bd5780a9c32d91 (diff)
downloadbcm5719-llvm-dd2ffea28893a3bb59c3e46baddec631bdc68462.tar.gz
bcm5719-llvm-dd2ffea28893a3bb59c3e46baddec631bdc68462.zip
Replace the broken LambdaCapture::isInitCapture API.
A LambdaCapture does not have sufficient information to correctly determine whether it is an init-capture or not. Doing so requires knowledge held in the LambdaExpr itself. It the case of a nested capture of an init-capture it is not sufficient to check (as LambdaCapture::isInitCapture did) whether the associated VarDecl was from an init-capture. This patch moves isInitCapture to LambdaExpr and updates Capture->isInitCapture() to Lambda->isInitCapture(Capture). llvm-svn: 236760
Diffstat (limited to 'clang/lib/Sema/TreeTransform.h')
-rw-r--r--clang/lib/Sema/TreeTransform.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/clang/lib/Sema/TreeTransform.h b/clang/lib/Sema/TreeTransform.h
index 704cef36d44..f5249fdeb01 100644
--- a/clang/lib/Sema/TreeTransform.h
+++ b/clang/lib/Sema/TreeTransform.h
@@ -9133,7 +9133,7 @@ TreeTransform<Derived>::TransformLambdaExpr(LambdaExpr *E) {
for (LambdaExpr::capture_iterator C = E->capture_begin(),
CEnd = E->capture_end();
C != CEnd; ++C) {
- if (!C->isInitCapture())
+ if (!E->isInitCapture(C))
continue;
EnterExpressionEvaluationContext EEEC(getSema(),
Sema::PotentiallyEvaluated);
@@ -9245,7 +9245,7 @@ TreeTransform<Derived>::TransformLambdaExpr(LambdaExpr *E) {
continue;
// Rebuild init-captures, including the implied field declaration.
- if (C->isInitCapture()) {
+ if (E->isInitCapture(C)) {
InitCaptureInfoTy InitExprTypePair =
InitCaptureExprsAndTypes[C - E->capture_begin()];
ExprResult Init = InitExprTypePair.first;
OpenPOWER on IntegriCloud