aboutsummaryrefslogtreecommitdiff
path: root/include/clang/Sema/ScopeInfo.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/clang/Sema/ScopeInfo.h')
-rw-r--r--include/clang/Sema/ScopeInfo.h16
1 files changed, 11 insertions, 5 deletions
diff --git a/include/clang/Sema/ScopeInfo.h b/include/clang/Sema/ScopeInfo.h
index 6a6f395c87..4d49a5a88a 100644
--- a/include/clang/Sema/ScopeInfo.h
+++ b/include/clang/Sema/ScopeInfo.h
@@ -189,15 +189,20 @@ public:
/// \brief A mapping from the set of captured variables to the
/// fields (within the lambda class) that represent the captured variables.
llvm::DenseMap<VarDecl *, FieldDecl *> CapturedVariables;
-
+
/// \brief The list of captured variables, starting with the explicit
/// captures and then finishing with any implicit captures.
llvm::SmallVector<Capture, 4> Captures;
-
+
+ // \brief Whether we have already captured 'this'.
+ bool CapturesCXXThis;
+
/// \brief The number of captures in the \c Captures list that are
/// explicit captures.
unsigned NumExplicitCaptures;
-
+
+ LambdaCaptureDefault Default;
+
/// \brief The field associated with the captured 'this' pointer.
FieldDecl *ThisCapture;
@@ -208,8 +213,9 @@ public:
QualType ReturnType;
LambdaScopeInfo(DiagnosticsEngine &Diag, CXXRecordDecl *Lambda)
- : FunctionScopeInfo(Diag), Lambda(Lambda),
- NumExplicitCaptures(0), ThisCapture(0) , HasImplicitReturnType(false)
+ : FunctionScopeInfo(Diag), Lambda(Lambda), CapturesCXXThis(false),
+ NumExplicitCaptures(0), Default(LCD_None), ThisCapture(0),
+ HasImplicitReturnType(false)
{
Kind = SK_Lambda;
}