[cfe-commits] r173058 - in /cfe/trunk: include/clang/Serialization/ASTReader.h lib/Serialization/ASTReader.cpp

Douglas Gregor dgregor at apple.com
Mon Jan 21 08:52:34 PST 2013


Author: dgregor
Date: Mon Jan 21 10:52:34 2013
New Revision: 173058

URL: http://llvm.org/viewvc/llvm-project?rev=173058&view=rev
Log:
Revert r173056; it breaks one of the CodeGen-with-PCH tests.

Modified:
    cfe/trunk/include/clang/Serialization/ASTReader.h
    cfe/trunk/lib/Serialization/ASTReader.cpp

Modified: cfe/trunk/include/clang/Serialization/ASTReader.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Serialization/ASTReader.h?rev=173058&r1=173057&r2=173058&view=diff
==============================================================================
--- cfe/trunk/include/clang/Serialization/ASTReader.h (original)
+++ cfe/trunk/include/clang/Serialization/ASTReader.h Mon Jan 21 10:52:34 2013
@@ -1515,22 +1515,11 @@
   /// \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 @@
     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);

Modified: cfe/trunk/lib/Serialization/ASTReader.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Serialization/ASTReader.cpp?rev=173058&r1=173057&r2=173058&view=diff
==============================================================================
--- cfe/trunk/lib/Serialization/ASTReader.cpp (original)
+++ cfe/trunk/lib/Serialization/ASTReader.cpp Mon Jan 21 10:52:34 2013
@@ -398,7 +398,7 @@
   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 @@
   SmallVector<IdentifierInfo *, 16> 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 @@
   }
 }
 
-IdentifierInfo *ASTReader::DecodeIdentifierInfo(IdentifierID ID,
-                                                bool StartOutOfDate) {
+IdentifierInfo *ASTReader::DecodeIdentifierInfo(IdentifierID ID) {
   if (ID == 0)
     return 0;
 
@@ -6064,15 +6063,8 @@
     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 @@
   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 @@
   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:





More information about the cfe-commits mailing list