diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2012-09-19 01:18:11 +0000 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2012-09-19 01:18:11 +0000 |
commit | 8da8a660128180a31479216111ff9b19b11c95b4 (patch) | |
tree | 7272143fc53333ebdb01ace3d1ee059af29c3abb /lib/AST/DeclCXX.cpp | |
parent | bf4c7a8eb7cdfb11e00ed47422fa4ed47771c74c (diff) |
Add the TypeSourceInfo for the lambda call operator to the lambda's
definition info; it needs to be there because the mangler needs to
access it before we're finished defining the lambda class.
PR12808.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164186 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AST/DeclCXX.cpp')
-rw-r--r-- | lib/AST/DeclCXX.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/AST/DeclCXX.cpp b/lib/AST/DeclCXX.cpp index d2549eedd5..9db33357a6 100644 --- a/lib/AST/DeclCXX.cpp +++ b/lib/AST/DeclCXX.cpp @@ -90,11 +90,12 @@ CXXRecordDecl *CXXRecordDecl::Create(const ASTContext &C, TagKind TK, } CXXRecordDecl *CXXRecordDecl::CreateLambda(const ASTContext &C, DeclContext *DC, - SourceLocation Loc, bool Dependent) { + TypeSourceInfo *Info, SourceLocation Loc, + bool Dependent) { CXXRecordDecl* R = new (C) CXXRecordDecl(CXXRecord, TTK_Class, DC, Loc, Loc, 0, 0); R->IsBeingDefined = true; - R->DefinitionData = new (C) struct LambdaDefinitionData(R, Dependent); + R->DefinitionData = new (C) struct LambdaDefinitionData(R, Info, Dependent); C.getTypeDeclType(R, /*PrevDecl=*/0); return R; } |