summaryrefslogtreecommitdiffstats
path: root/include/clang/Serialization
diff options
context:
space:
mode:
Diffstat (limited to 'include/clang/Serialization')
-rw-r--r--include/clang/Serialization/ASTBitCodes.h2
-rw-r--r--include/clang/Serialization/ASTReader.h9
-rw-r--r--include/clang/Serialization/ASTWriter.h1
-rw-r--r--include/clang/Serialization/Module.h10
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;
};
OpenPOWER on IntegriCloud