]> granicus.if.org Git - clang/commitdiff
Remove the ASTDeserializationListener's MacroVisible() callback, which
authorDouglas Gregor <dgregor@apple.com>
Thu, 11 Oct 2012 00:51:27 +0000 (00:51 +0000)
committerDouglas Gregor <dgregor@apple.com>
Thu, 11 Oct 2012 00:51:27 +0000 (00:51 +0000)
is no longer necessary, as well as the little bit of infrastructure in
the AST writer that used it.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165684 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Serialization/ASTDeserializationListener.h
include/clang/Serialization/ASTWriter.h
lib/Serialization/ASTReader.cpp
lib/Serialization/ASTWriter.cpp

index f24e39d8e1be93731ca6016f730e6b5331bb82fb..0218129fb62594ea771a1f26f58f0f983fcda42c 100644 (file)
@@ -51,9 +51,6 @@ public:
   /// \brief A macro definition was read from the AST file.
   virtual void MacroDefinitionRead(serialization::PreprocessedEntityID, 
                                    MacroDefinition *MD) { }
-  /// \brief A macro definition that had previously been deserialized 
-  /// (and removed via IdentifierRead) has now been made visible.
-  virtual void MacroVisible(IdentifierInfo *II) { }
   /// \brief A module definition was read from the AST file.
   virtual void ModuleRead(serialization::SubmoduleID ID, Module *Mod) { }
 };
index db5b8ca99e253bca8f1b3f894878be8cec104e69..a4ff416bd81a435ce90bf9d1cf14d9cd32b8d1dc 100644 (file)
@@ -262,9 +262,6 @@ private:
   /// table, indexed by the Selector ID (-1).
   std::vector<uint32_t> SelectorOffsets;
 
-  /// \brief The set of identifiers that had macro definitions at some point.
-  std::vector<const IdentifierInfo *> DeserializedMacroNames;
-
   typedef llvm::MapVector<MacroInfo *, MacroUpdate> MacroUpdatesMap;
 
   /// \brief Updates to macro definitions that were loaded from an AST file.
@@ -700,7 +697,6 @@ public:
   void SelectorRead(serialization::SelectorID ID, Selector Sel);
   void MacroDefinitionRead(serialization::PreprocessedEntityID ID,
                            MacroDefinition *MD);
-  void MacroVisible(IdentifierInfo *II);
   void ModuleRead(serialization::SubmoduleID ID, Module *Mod);
 
   // PPMutationListener implementation.
index f23c0992af8391b81afa0c3e1ebd9c8cc22a842e..861d99ee64d26923846f38b4a26a0943c33e6644 100644 (file)
@@ -2616,8 +2616,6 @@ void ASTReader::makeNamesVisible(const HiddenNames &Names) {
     Macro.second->setHidden(!Macro.second->isPublic());
     if (Macro.second->isDefined()) {
       PP.makeLoadedMacroInfoVisible(Macro.first, Macro.second);
-      if (DeserializationListener)
-        DeserializationListener->MacroVisible(Macro.first);
     }
   }
 }
index 9f4789227f402a830d9e939142e88a2f36a2843c..b7d6d9cecffd9883c1ffdc995d0bdb52af9f6354 100644 (file)
@@ -1694,16 +1694,6 @@ void ASTWriter::WritePreprocessor(const Preprocessor &PP, bool IsModule) {
   llvm::array_pod_sort(MacrosToEmit.begin(), MacrosToEmit.end(),
                        &compareMacroDefinitions);
 
-  // Resolve any identifiers that defined macros at the time they were
-  // deserialized, adding them to the list of macros to emit (if appropriate).
-  for (unsigned I = 0, N = DeserializedMacroNames.size(); I != N; ++I) {
-    IdentifierInfo *Name
-      = const_cast<IdentifierInfo *>(DeserializedMacroNames[I]);
-    if (Name->hadMacroDefinition() && MacroDefinitionsSeen.insert(Name))
-      MacrosToEmit.push_back(std::make_pair(Name,
-                                            PP.getMacroInfoHistory(Name)));
-  }
-
   /// \brief Offsets of each of the macros into the bitstream, indexed by
   /// the local macro ID
   ///
@@ -4557,8 +4547,6 @@ void ASTWriter::ReaderInitialized(ASTReader *Reader) {
 
 void ASTWriter::IdentifierRead(IdentID ID, IdentifierInfo *II) {
   IdentifierIDs[II] = ID;
-  if (II->hadMacroDefinition())
-    DeserializedMacroNames.push_back(II);
 }
 
 void ASTWriter::MacroRead(serialization::MacroID ID, MacroInfo *MI) {
@@ -4586,10 +4574,6 @@ void ASTWriter::MacroDefinitionRead(serialization::PreprocessedEntityID ID,
   MacroDefinitions[MD] = ID;
 }
 
-void ASTWriter::MacroVisible(IdentifierInfo *II) {
-  DeserializedMacroNames.push_back(II);
-}
-
 void ASTWriter::ModuleRead(serialization::SubmoduleID ID, Module *Mod) {
   assert(SubmoduleIDs.find(Mod) == SubmoduleIDs.end());
   SubmoduleIDs[Mod] = ID;