diff options
Diffstat (limited to 'include/clang/Frontend')
| -rw-r--r-- | include/clang/Frontend/ASTConsumers.h | 4 | ||||
| -rw-r--r-- | include/clang/Frontend/PCHBitCodes.h | 6 | ||||
| -rw-r--r-- | include/clang/Frontend/PCHReader.h | 14 | ||||
| -rw-r--r-- | include/clang/Frontend/PCHWriter.h | 1 |
4 files changed, 23 insertions, 2 deletions
diff --git a/include/clang/Frontend/ASTConsumers.h b/include/clang/Frontend/ASTConsumers.h index 04365d7c78d8..be4520262558 100644 --- a/include/clang/Frontend/ASTConsumers.h +++ b/include/clang/Frontend/ASTConsumers.h @@ -20,6 +20,7 @@ namespace llvm { class Module; + class LLVMContext; namespace sys { class Path; } } namespace clang { @@ -79,7 +80,8 @@ ASTConsumer *CreateBackendConsumer(BackendAction Action, const LangOptions &Features, const CompileOptions &CompileOpts, const std::string &ModuleID, - llvm::raw_ostream *OS); + llvm::raw_ostream *OS, + llvm::LLVMContext& C); // HTML printer: uses the rewriter to convert source code to HTML with // syntax highlighting suitable for viewing in a web-browser. diff --git a/include/clang/Frontend/PCHBitCodes.h b/include/clang/Frontend/PCHBitCodes.h index 63222725d529..80aa248a78e6 100644 --- a/include/clang/Frontend/PCHBitCodes.h +++ b/include/clang/Frontend/PCHBitCodes.h @@ -218,7 +218,11 @@ namespace clang { /// \brief Record code for the original file that was used to /// generate the precompiled header. - ORIGINAL_FILE_NAME = 20 + ORIGINAL_FILE_NAME = 20, + + /// \brief Record code for the sorted array of source ranges where + /// comments were encountered in the source code. + COMMENT_RANGES = 21 }; /// \brief Record types used within a source manager block. diff --git a/include/clang/Frontend/PCHReader.h b/include/clang/Frontend/PCHReader.h index b3ed36434312..8291f4697a8e 100644 --- a/include/clang/Frontend/PCHReader.h +++ b/include/clang/Frontend/PCHReader.h @@ -279,6 +279,12 @@ private: /// been loaded. llvm::SmallVector<Selector, 16> SelectorsLoaded; + /// \brief A sorted array of source ranges containing comments. + SourceRange *Comments; + + /// \brief The number of source ranges in the Comments array. + unsigned NumComments; + /// \brief The set of external definitions stored in the the PCH /// file. llvm::SmallVector<uint64_t, 16> ExternalDefinitions; @@ -452,6 +458,14 @@ public: /// build prior to including the precompiled header. const std::string &getSuggestedPredefines() { return SuggestedPredefines; } + /// \brief Reads the source ranges that correspond to comments from + /// an external AST source. + /// + /// \param Comments the contents of this vector will be + /// replaced with the sorted set of source ranges corresponding to + /// comments in the source code. + virtual void ReadComments(std::vector<SourceRange> &Comments); + /// \brief Resolve a type ID into a type, potentially building a new /// type. virtual QualType GetType(pch::TypeID ID); diff --git a/include/clang/Frontend/PCHWriter.h b/include/clang/Frontend/PCHWriter.h index 5cb939547f2c..c663442e64d8 100644 --- a/include/clang/Frontend/PCHWriter.h +++ b/include/clang/Frontend/PCHWriter.h @@ -166,6 +166,7 @@ private: void WriteSourceManagerBlock(SourceManager &SourceMgr, const Preprocessor &PP); void WritePreprocessor(const Preprocessor &PP); + void WriteComments(ASTContext &Context); void WriteType(const Type *T); void WriteTypesBlock(ASTContext &Context); uint64_t WriteDeclContextLexicalBlock(ASTContext &Context, DeclContext *DC); |
