diff options
Diffstat (limited to 'include/clang/Lex/HeaderSearchOptions.h')
-rw-r--r-- | include/clang/Lex/HeaderSearchOptions.h | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/include/clang/Lex/HeaderSearchOptions.h b/include/clang/Lex/HeaderSearchOptions.h index 915dbf74b2a4..815b68c60e80 100644 --- a/include/clang/Lex/HeaderSearchOptions.h +++ b/include/clang/Lex/HeaderSearchOptions.h @@ -11,6 +11,7 @@ #define LLVM_CLANG_LEX_HEADERSEARCHOPTIONS_H #include "clang/Basic/LLVM.h" +#include "llvm/ADT/CachedHashString.h" #include "llvm/ADT/IntrusiveRefCntPtr.h" #include "llvm/ADT/SetVector.h" #include "llvm/ADT/StringRef.h" @@ -93,6 +94,9 @@ public: /// \brief The directory used for a user build. std::string ModuleUserBuildPath; + /// \brief The directories used to load prebuilt module files. + std::vector<std::string> PrebuiltModulePaths; + /// The module/pch container format. std::string ModuleFormat; @@ -141,7 +145,7 @@ public: /// \brief The set of macro names that should be ignored for the purposes /// of computing the module hash. - llvm::SmallSetVector<std::string, 16> ModulesIgnoreMacros; + llvm::SmallSetVector<llvm::CachedHashString, 16> ModulesIgnoreMacros; /// \brief The set of user-provided virtual filesystem overlay files. std::vector<std::string> VFSOverlayFiles; @@ -172,6 +176,8 @@ public: /// Whether the module includes debug information (-gmodules). unsigned UseDebugInfo : 1; + unsigned ModulesValidateDiagnosticOptions : 1; + HeaderSearchOptions(StringRef _Sysroot = "/") : Sysroot(_Sysroot), ModuleFormat("raw"), DisableModuleHash(0), ImplicitModuleMaps(0), ModuleMapFileHomeIsCwd(0), @@ -181,7 +187,7 @@ public: UseStandardCXXIncludes(true), UseLibcxx(false), Verbose(false), ModulesValidateOncePerBuildSession(false), ModulesValidateSystemHeaders(false), - UseDebugInfo(false) {} + UseDebugInfo(false), ModulesValidateDiagnosticOptions(true) {} /// AddPath - Add the \p Path path to the specified \p Group list. void AddPath(StringRef Path, frontend::IncludeDirGroup Group, @@ -199,6 +205,10 @@ public: void AddVFSOverlayFile(StringRef Name) { VFSOverlayFiles.push_back(Name); } + + void AddPrebuiltModulePath(StringRef Name) { + PrebuiltModulePaths.push_back(Name); + } }; } // end namespace clang |