From: Douglas Gregor Date: Mon, 21 Jan 2013 16:52:34 +0000 (+0000) Subject: Revert r173056; it breaks one of the CodeGen-with-PCH tests. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8222b8951da749d4f086d7b39de5ff0221297509;p=clang Revert r173056; it breaks one of the CodeGen-with-PCH tests. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173058 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/Serialization/ASTReader.h b/include/clang/Serialization/ASTReader.h index d6d6148ffd..994008de44 100644 --- a/include/clang/Serialization/ASTReader.h +++ b/include/clang/Serialization/ASTReader.h @@ -1515,22 +1515,11 @@ public: /// \brief Report a diagnostic. DiagnosticBuilder Diag(SourceLocation Loc, unsigned DiagID); - /// \brief Given the global ID for an identifier, retrieve the - /// corresponding identifier information. - /// - /// \param ID The global ID. - /// - /// \param StartOutOfDate If true, don't actually read the identifier - /// contents (macro definition, etc.). Instead, put the identifier in the - /// "out-of-date" state to its contents to be loaded later. - IdentifierInfo *DecodeIdentifierInfo(serialization::IdentifierID ID, - bool StartOutOfDate = false); + IdentifierInfo *DecodeIdentifierInfo(serialization::IdentifierID ID); IdentifierInfo *GetIdentifierInfo(ModuleFile &M, const RecordData &Record, - unsigned &Idx, - bool StartOutOfDate = false) { - return DecodeIdentifierInfo(getGlobalIdentifierID(M, Record[Idx++]), - StartOutOfDate); + unsigned &Idx) { + return DecodeIdentifierInfo(getGlobalIdentifierID(M, Record[Idx++])); } virtual IdentifierInfo *GetIdentifier(serialization::IdentifierID ID) { @@ -1540,8 +1529,7 @@ public: return DecodeIdentifierInfo(ID); } - IdentifierInfo *getLocalIdentifier(ModuleFile &M, unsigned LocalID, - bool StartOutOfDate = false); + IdentifierInfo *getLocalIdentifier(ModuleFile &M, unsigned LocalID); serialization::IdentifierID getGlobalIdentifierID(ModuleFile &M, unsigned LocalID); diff --git a/lib/Serialization/ASTReader.cpp b/lib/Serialization/ASTReader.cpp index e360d8dde2..db850f3f83 100644 --- a/lib/Serialization/ASTReader.cpp +++ b/lib/Serialization/ASTReader.cpp @@ -398,7 +398,7 @@ ASTSelectorLookupTrait::ReadKey(const unsigned char* d, unsigned) { SelectorTable &SelTable = Reader.getContext().Selectors; unsigned N = ReadUnalignedLE16(d); IdentifierInfo *FirstII - = Reader.getLocalIdentifier(F, ReadUnalignedLE32(d), true); + = Reader.getLocalIdentifier(F, ReadUnalignedLE32(d)); if (N == 0) return SelTable.getNullarySelector(FirstII); else if (N == 1) @@ -407,7 +407,7 @@ ASTSelectorLookupTrait::ReadKey(const unsigned char* d, unsigned) { SmallVector Args; Args.push_back(FirstII); for (unsigned I = 1; I != N; ++I) - Args.push_back(Reader.getLocalIdentifier(F, ReadUnalignedLE32(d), true)); + Args.push_back(Reader.getLocalIdentifier(F, ReadUnalignedLE32(d))); return SelTable.getSelector(N, Args.data()); } @@ -6038,8 +6038,7 @@ ASTReader::SetGloballyVisibleDecls(IdentifierInfo *II, } } -IdentifierInfo *ASTReader::DecodeIdentifierInfo(IdentifierID ID, - bool StartOutOfDate) { +IdentifierInfo *ASTReader::DecodeIdentifierInfo(IdentifierID ID) { if (ID == 0) return 0; @@ -6064,15 +6063,8 @@ IdentifierInfo *ASTReader::DecodeIdentifierInfo(IdentifierID ID, const unsigned char *StrLenPtr = (const unsigned char*) Str - 2; unsigned StrLen = (((unsigned) StrLenPtr[0]) | (((unsigned) StrLenPtr[1]) << 8)) - 1; - - StringRef Name(Str, StrLen); - if (StartOutOfDate) { - IdentifiersLoaded[ID] = &PP.getIdentifierTable().getOwn(Name); - IdentifiersLoaded[ID]->setOutOfDate(true); - } else { - IdentifiersLoaded[ID] - = &PP.getIdentifierTable().get(Name); - } + IdentifiersLoaded[ID] + = &PP.getIdentifierTable().get(StringRef(Str, StrLen)); if (DeserializationListener) DeserializationListener->IdentifierRead(ID + 1, IdentifiersLoaded[ID]); } @@ -6080,10 +6072,8 @@ IdentifierInfo *ASTReader::DecodeIdentifierInfo(IdentifierID ID, return IdentifiersLoaded[ID]; } -IdentifierInfo *ASTReader::getLocalIdentifier(ModuleFile &M, unsigned LocalID, - bool StartOutOfDate) { - return DecodeIdentifierInfo(getGlobalIdentifierID(M, LocalID), - StartOutOfDate); +IdentifierInfo *ASTReader::getLocalIdentifier(ModuleFile &M, unsigned LocalID) { + return DecodeIdentifierInfo(getGlobalIdentifierID(M, LocalID)); } IdentifierID ASTReader::getGlobalIdentifierID(ModuleFile &M, unsigned LocalID) { @@ -6219,7 +6209,7 @@ ASTReader::ReadDeclarationName(ModuleFile &F, DeclarationName::NameKind Kind = (DeclarationName::NameKind)Record[Idx++]; switch (Kind) { case DeclarationName::Identifier: - return DeclarationName(GetIdentifierInfo(F, Record, Idx, true)); + return DeclarationName(GetIdentifierInfo(F, Record, Idx)); case DeclarationName::ObjCZeroArgSelector: case DeclarationName::ObjCOneArgSelector: