diff options
| author | Richard Smith <richard-llvm@metafoo.co.uk> | 2013-08-30 00:23:29 +0000 |
|---|---|---|
| committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2013-08-30 00:23:29 +0000 |
| commit | 9dd9f036c6998389b6c5c1c326199572be5fd6cb (patch) | |
| tree | e3cf333e5a44dab19d2c0afbd2c0f39f05a9c4c4 /clang/lib/Serialization/ASTReaderDecl.cpp | |
| parent | a23f4fb5c90624ce66e276512ca4577a72a9527f (diff) | |
| download | bcm5719-llvm-9dd9f036c6998389b6c5c1c326199572be5fd6cb.tar.gz bcm5719-llvm-9dd9f036c6998389b6c5c1c326199572be5fd6cb.zip | |
Map from local decl IDs to global decl IDs when lazily deserializing friend decl chains.
llvm-svn: 189629
Diffstat (limited to 'clang/lib/Serialization/ASTReaderDecl.cpp')
| -rw-r--r-- | clang/lib/Serialization/ASTReaderDecl.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/clang/lib/Serialization/ASTReaderDecl.cpp b/clang/lib/Serialization/ASTReaderDecl.cpp index a224aefa8fa..67ca94bbf8e 100644 --- a/clang/lib/Serialization/ASTReaderDecl.cpp +++ b/clang/lib/Serialization/ASTReaderDecl.cpp @@ -1186,8 +1186,8 @@ void ASTDeclReader::ReadCXXDefinitionData( Reader.ReadUnresolvedSet(F, Data.Conversions, Record, Idx); Reader.ReadUnresolvedSet(F, Data.VisibleConversions, Record, Idx); assert(Data.Definition && "Data.Definition should be already set!"); - Data.FirstFriend = Record[Idx++]; - + Data.FirstFriend = ReadDeclID(Record, Idx); + if (Data.IsLambda) { typedef LambdaExpr::Capture Capture; CXXRecordDecl::LambdaDefinitionData &Lambda @@ -1339,7 +1339,7 @@ void ASTDeclReader::VisitFriendDecl(FriendDecl *D) { D->Friend = GetTypeSourceInfo(Record, Idx); for (unsigned i = 0; i != D->NumTPLists; ++i) D->getTPLists()[i] = Reader.ReadTemplateParameterList(F, Record, Idx); - D->NextFriend = Record[Idx++]; + D->NextFriend = ReadDeclID(Record, Idx); D->UnsupportedFriend = (Record[Idx++] != 0); D->FriendLoc = ReadSourceLocation(Record, Idx); } |

