diff options
Diffstat (limited to 'include/clang/Serialization')
-rw-r--r-- | include/clang/Serialization/ASTBitCodes.h | 2 | ||||
-rw-r--r-- | include/clang/Serialization/ASTReader.h | 9 | ||||
-rw-r--r-- | include/clang/Serialization/ASTWriter.h | 1 | ||||
-rw-r--r-- | include/clang/Serialization/Module.h | 10 |
4 files changed, 18 insertions, 4 deletions
diff --git a/include/clang/Serialization/ASTBitCodes.h b/include/clang/Serialization/ASTBitCodes.h index 4591630..f9bb892 100644 --- a/include/clang/Serialization/ASTBitCodes.h +++ b/include/clang/Serialization/ASTBitCodes.h @@ -964,6 +964,8 @@ namespace clang { STMT_DEFAULT, /// \brief A LabelStmt record. STMT_LABEL, + /// \brief An AttributedStmt record. + STMT_ATTRIBUTED, /// \brief An IfStmt record. STMT_IF, /// \brief A SwitchStmt record. diff --git a/include/clang/Serialization/ASTReader.h b/include/clang/Serialization/ASTReader.h index 9baaf4b..a9d0fc3 100644 --- a/include/clang/Serialization/ASTReader.h +++ b/include/clang/Serialization/ASTReader.h @@ -170,6 +170,9 @@ class ReadMethodPoolVisitor; namespace reader { class ASTIdentifierLookupTrait; + /// \brief The on-disk hash table used for the DeclContext's Name lookup table. + typedef OnDiskChainedHashTable<ASTDeclContextNameLookupTrait> + ASTDeclContextNameLookupTable; } } // end namespace serialization @@ -323,7 +326,9 @@ private: // TU, and when we read those update records, the actual context will not // be available yet (unless it's the TU), so have this pending map using the // ID as a key. It will be realized when the context is actually loaded. - typedef SmallVector<std::pair<void *, ModuleFile*>, 1> DeclContextVisibleUpdates; + typedef + SmallVector<std::pair<serialization::reader::ASTDeclContextNameLookupTable *, + ModuleFile*>, 1> DeclContextVisibleUpdates; typedef llvm::DenseMap<serialization::DeclID, DeclContextVisibleUpdates> DeclContextVisibleUpdatesPending; @@ -1467,7 +1472,7 @@ public: llvm::DenseMap<IdentifierInfo *, uint64_t>::iterator Pos); /// \brief Load all external visible decls in the given DeclContext. - void completeVisibleDeclsMap(DeclContext *DC); + void completeVisibleDeclsMap(const DeclContext *DC); /// \brief Retrieve the AST context that this AST reader supplements. ASTContext &getContext() { return Context; } diff --git a/include/clang/Serialization/ASTWriter.h b/include/clang/Serialization/ASTWriter.h index 4c62385..e693f17 100644 --- a/include/clang/Serialization/ASTWriter.h +++ b/include/clang/Serialization/ASTWriter.h @@ -76,6 +76,7 @@ public: typedef SmallVectorImpl<uint64_t> RecordDataImpl; friend class ASTDeclWriter; + friend class ASTStmtWriter; private: /// \brief Map that provides the ID numbers of each type within the /// output stream, plus those deserialized from a chained PCH. diff --git a/include/clang/Serialization/Module.h b/include/clang/Serialization/Module.h index 4c93c33..786ecd3 100644 --- a/include/clang/Serialization/Module.h +++ b/include/clang/Serialization/Module.h @@ -27,9 +27,14 @@ namespace clang { class DeclContext; class Module; - +template<typename Info> class OnDiskChainedHashTable; + namespace serialization { +namespace reader { + class ASTDeclContextNameLookupTrait; +} + /// \brief Specifies the kind of module that has been loaded. enum ModuleKind { MK_Module, ///< File is a module proper. @@ -43,7 +48,8 @@ struct DeclContextInfo { DeclContextInfo() : NameLookupTableData(), LexicalDecls(), NumLexicalDecls() {} - void *NameLookupTableData; // an ASTDeclContextNameLookupTable. + OnDiskChainedHashTable<reader::ASTDeclContextNameLookupTrait> + *NameLookupTableData; // an ASTDeclContextNameLookupTable. const KindDeclIDPair *LexicalDecls; unsigned NumLexicalDecls; }; |