diff options
Diffstat (limited to 'include/clang/Serialization/ASTReader.h')
-rw-r--r-- | include/clang/Serialization/ASTReader.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/include/clang/Serialization/ASTReader.h b/include/clang/Serialization/ASTReader.h index 37bea48d88465..7495c2b17aa27 100644 --- a/include/clang/Serialization/ASTReader.h +++ b/include/clang/Serialization/ASTReader.h @@ -930,6 +930,9 @@ private: /// Whether validate system input files. bool ValidateSystemInputs; + /// Whether validate headers and module maps using hash based on contents. + bool ValidateASTInputFilesContent; + /// Whether we are allowed to use the global module index. bool UseGlobalIndex; @@ -1203,6 +1206,7 @@ private: struct InputFileInfo { std::string Filename; + uint64_t ContentHash; off_t StoredSize; time_t StoredTime; bool Overridden; @@ -1437,6 +1441,8 @@ private: void Error(StringRef Msg) const; void Error(unsigned DiagID, StringRef Arg1 = StringRef(), StringRef Arg2 = StringRef()) const; + void Error(unsigned DiagID, StringRef Arg1, StringRef Arg2, + unsigned Select) const; void Error(llvm::Error &&Err) const; public: @@ -1485,7 +1491,9 @@ public: StringRef isysroot = "", bool DisableValidation = false, bool AllowASTWithCompilerErrors = false, bool AllowConfigurationMismatch = false, - bool ValidateSystemInputs = false, bool UseGlobalIndex = true, + bool ValidateSystemInputs = false, + bool ValidateASTInputFilesContent = false, + bool UseGlobalIndex = true, std::unique_ptr<llvm::Timer> ReadTimer = {}); ASTReader(const ASTReader &) = delete; ASTReader &operator=(const ASTReader &) = delete; @@ -1578,7 +1586,7 @@ public: /// Takes ownership of \p L. void addListener(std::unique_ptr<ASTReaderListener> L) { if (Listener) - L = llvm::make_unique<ChainedASTReaderListener>(std::move(L), + L = std::make_unique<ChainedASTReaderListener>(std::move(L), std::move(Listener)); Listener = std::move(L); } @@ -1594,7 +1602,7 @@ public: auto Old = Reader.takeListener(); if (Old) { Chained = true; - L = llvm::make_unique<ChainedASTReaderListener>(std::move(L), + L = std::make_unique<ChainedASTReaderListener>(std::move(L), std::move(Old)); } Reader.setListener(std::move(L)); |