aboutsummaryrefslogtreecommitdiff
path: root/include/clang/Serialization
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2011-12-22 19:44:59 +0000
committerDouglas Gregor <dgregor@apple.com>2011-12-22 19:44:59 +0000
commitcce54aa6a40e4c39b25532336e17ce40f0a7e087 (patch)
treec322fc6207f1cd5194e766e978768fd239b524bc /include/clang/Serialization
parent567003e572eed69cf1e8a04601076c8803355c7a (diff)
If we end up merging an Objective-C class with an existing Objective-C
class that comes from a different module file, make sure that we load all of the pending declarations for the original declaration. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147168 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Serialization')
-rw-r--r--include/clang/Serialization/ASTReader.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/clang/Serialization/ASTReader.h b/include/clang/Serialization/ASTReader.h
index 9d661c8c19..166ac66821 100644
--- a/include/clang/Serialization/ASTReader.h
+++ b/include/clang/Serialization/ASTReader.h
@@ -675,6 +675,13 @@ private:
/// \brief Keeps track of the elements added to PendingDeclChains.
llvm::SmallSet<serialization::DeclID, 16> PendingDeclChainsKnown;
+ /// \brief Reverse mapping from declarations to their global declaration IDs.
+ ///
+ /// FIXME: This data structure is currently only used for ObjCInterfaceDecls,
+ /// support declaration merging. If we must have this for other declarations,
+ /// allocate it along with the Decl itself.
+ llvm::DenseMap<Decl *, serialization::GlobalDeclID> DeclToID;
+
typedef llvm::DenseMap<Decl *, llvm::SmallVector<serialization::DeclID, 2> >
MergedDeclsMap;