diff options
Diffstat (limited to 'include/clang/Sema/ScopeInfo.h')
-rw-r--r-- | include/clang/Sema/ScopeInfo.h | 16 |
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; } |