diff options
Diffstat (limited to 'include/clang/Serialization/ASTWriter.h')
-rw-r--r-- | include/clang/Serialization/ASTWriter.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/include/clang/Serialization/ASTWriter.h b/include/clang/Serialization/ASTWriter.h index e693f17..d038d58 100644 --- a/include/clang/Serialization/ASTWriter.h +++ b/include/clang/Serialization/ASTWriter.h @@ -110,6 +110,10 @@ private: /// serialization, rather than just queueing updates. bool WritingAST; + /// \brief Indicates that we are done serializing the collection of decls + /// and types to emit. + bool DoneWritingDeclsAndTypes; + /// \brief Indicates that the AST contained compiler errors. bool ASTHasCompilerErrors; @@ -296,6 +300,10 @@ private: /// it. llvm::SmallPtrSet<const DeclContext *, 16> UpdatedDeclContexts; + /// \brief Keeps track of visible decls that were added in DeclContexts + /// coming from another AST file. + SmallVector<const Decl *, 16> UpdatingVisibleDecls; + typedef llvm::SmallPtrSet<const Decl *, 16> DeclsToRewriteTy; /// \brief Decls that will be replaced in the current dependent AST file. DeclsToRewriteTy DeclsToRewrite; @@ -337,7 +345,7 @@ private: SmallVector<Stmt *, 16> *CollectedStmts; /// \brief Mapping from SwitchCase statements to IDs. - std::map<SwitchCase *, unsigned> SwitchCaseIDs; + llvm::DenseMap<SwitchCase *, unsigned> SwitchCaseIDs; /// \brief The number of statements written to the AST file. unsigned NumStatements; @@ -414,11 +422,12 @@ private: uint64_t WriteDeclContextVisibleBlock(ASTContext &Context, DeclContext *DC); void WriteTypeDeclOffsets(); void WriteFileDeclIDsMap(); + void WriteComments(); void WriteSelectors(Sema &SemaRef); void WriteReferencedSelectorsPool(Sema &SemaRef); void WriteIdentifierTable(Preprocessor &PP, IdentifierResolver &IdResolver, bool IsModule); - void WriteAttributes(const AttrVec &Attrs, RecordDataImpl &Record); + void WriteAttributes(ArrayRef<const Attr*> Attrs, RecordDataImpl &Record); void ResolveDeclUpdatesBlocks(); void WriteDeclUpdatesBlocks(); void WriteDeclReplacementsBlock(); |