clang: clang::HeaderSearchOptions Class Reference (original) (raw)
HeaderSearchOptions - Helper class for storing options related to the initialization of the HeaderSearch object. More...
#include "[clang/Lex/HeaderSearchOptions.h](HeaderSearchOptions%5F8h%5Fsource.html)"
Public Member Functions | |
---|---|
HeaderSearchOptions (StringRef _Sysroot="/") | |
void | AddPath (StringRef Path, frontend::IncludeDirGroup Group, bool IsFramework, bool IgnoreSysRoot) |
AddPath - Add the Path path to the specified Group list. | |
void | AddSystemHeaderPrefix (StringRef Prefix, bool IsSystemHeader) |
AddSystemHeaderPrefix - Override whether #include directives naming a path starting with Prefix should be considered as naming a system header. | |
void | AddVFSOverlayFile (StringRef Name) |
void | AddPrebuiltModulePath (StringRef Name) |
Public Attributes | |
---|---|
std::string | Sysroot |
If non-empty, the directory to use as a "virtual system root" for include paths. | |
std::vector< Entry > | UserEntries |
User specified include entries. | |
std::vector< SystemHeaderPrefix > | SystemHeaderPrefixes |
User-specified system header prefixes. | |
std::string | ResourceDir |
The directory which holds the compiler resource files (builtin includes, etc.). | |
std::string | ModuleCachePath |
The directory used for the module cache. | |
std::string | ModuleUserBuildPath |
The directory used for a user build. | |
std::map< std::string, std::string, std::less<> > | PrebuiltModuleFiles |
The mapping of module names to prebuilt module files. | |
std::vector< std::string > | PrebuiltModulePaths |
The directories used to load prebuilt module files. | |
std::string | ModuleFormat |
The module/pch container format. | |
unsigned | DisableModuleHash: 1 |
Whether we should disable the use of the hash string within the module cache. | |
unsigned | ImplicitModuleMaps: 1 |
Implicit module maps. | |
unsigned | ModuleMapFileHomeIsCwd: 1 |
Set the 'home directory' of a module map file to the current working directory (or the home directory of the module map file that contained the 'extern module' directive importing this module map file if any) rather than the directory containing the module map file. | |
unsigned | ModuleFileHomeIsCwd: 1 |
Set the base path of a built module file to be the current working directory. | |
unsigned | EnablePrebuiltImplicitModules: 1 |
Also search for prebuilt implicit modules in the prebuilt module cache path. | |
unsigned | ModuleCachePruneInterval = 7 * 24 * 60 * 60 |
The interval (in seconds) between pruning operations. | |
unsigned | ModuleCachePruneAfter = 31 * 24 * 60 * 60 |
The time (in seconds) after which an unused module file will be considered unused and will, therefore, be pruned. | |
uint64_t | BuildSessionTimestamp = 0 |
The time in seconds when the build session started. | |
llvm::SmallSetVector< llvm::CachedHashString, 16 > | ModulesIgnoreMacros |
The set of macro names that should be ignored for the purposes of computing the module hash. | |
std::vector< std::string > | VFSOverlayFiles |
The set of user-provided virtual filesystem overlay files. | |
unsigned | UseBuiltinIncludes: 1 |
Include the compiler builtin includes. | |
unsigned | UseStandardSystemIncludes: 1 |
Include the system standard include search directories. | |
unsigned | UseStandardCXXIncludes: 1 |
Include the system standard C++ library include search directories. | |
unsigned | UseLibcxx: 1 |
Use libc++ instead of the default libstdc++. | |
unsigned | Verbose: 1 |
Whether header search information should be output as for -v. | |
unsigned | ModulesValidateOncePerBuildSession: 1 |
If true, skip verifying input files used by modules if the module was already verified during this build session (see BuildSessionTimestamp). | |
unsigned | ModulesValidateSystemHeaders: 1 |
Whether to validate system input files when a module is loaded. | |
unsigned | ValidateASTInputFilesContent: 1 |
unsigned | ForceCheckCXX20ModulesInputFiles: 1 |
unsigned | UseDebugInfo: 1 |
Whether the module includes debug information (-gmodules). | |
unsigned | ModulesValidateDiagnosticOptions: 1 |
unsigned | ModulesSkipDiagnosticOptions: 1 |
Whether to entirely skip writing diagnostic options. | |
unsigned | ModulesSkipHeaderSearchPaths: 1 |
Whether to entirely skip writing header search paths. | |
unsigned | ModulesSkipPragmaDiagnosticMappings: 1 |
Whether to entirely skip writing pragma diagnostic mappings. | |
unsigned | ModulesPruneNonAffectingModuleMaps: 1 |
Whether to prune non-affecting module map files from PCM files. | |
unsigned | ModulesHashContent: 1 |
unsigned | ModulesSerializeOnlyPreprocessor: 1 |
Whether AST files should only contain the preprocessor information. | |
unsigned | ModulesStrictContextHash: 1 |
Whether we should include all things that could impact the module in the hash. | |
unsigned | ModulesIncludeVFSUsage: 1 |
Whether to include ivfsoverlay usage information in written AST files. | |
unsigned | AllowModuleMapSubdirectorySearch: 1 |
Whether we should look for a module in module maps only in provided header search paths or if we are allowed to look for module maps in subdirectories of provided paths too. | |
HeaderSearchOptions - Helper class for storing options related to the initialization of the HeaderSearch object.
Definition at line 64 of file HeaderSearchOptions.h.
clang::HeaderSearchOptions::HeaderSearchOptions ( StringRef _Sysroot = "/") | inline |
---|
◆ AddPath()
◆ AddPrebuiltModulePath()
void clang::HeaderSearchOptions::AddPrebuiltModulePath ( StringRef Name) | inline |
---|
◆ AddSystemHeaderPrefix()
void clang::HeaderSearchOptions::AddSystemHeaderPrefix ( StringRef Prefix, bool IsSystemHeader ) | inline |
---|
◆ AddVFSOverlayFile()
void clang::HeaderSearchOptions::AddVFSOverlayFile ( StringRef Name) | inline |
---|
◆ AllowModuleMapSubdirectorySearch
unsigned clang::HeaderSearchOptions::AllowModuleMapSubdirectorySearch
Whether we should look for a module in module maps only in provided header search paths or if we are allowed to look for module maps in subdirectories of provided paths too.
Definition at line 278 of file HeaderSearchOptions.h.
◆ BuildSessionTimestamp
uint64_t clang::HeaderSearchOptions::BuildSessionTimestamp = 0
◆ DisableModuleHash
unsigned clang::HeaderSearchOptions::DisableModuleHash
Whether we should disable the use of the hash string within the module cache.
Note: Only used for testing!
Definition at line 130 of file HeaderSearchOptions.h.
◆ EnablePrebuiltImplicitModules
unsigned clang::HeaderSearchOptions::EnablePrebuiltImplicitModules
◆ ForceCheckCXX20ModulesInputFiles
unsigned clang::HeaderSearchOptions::ForceCheckCXX20ModulesInputFiles
◆ ImplicitModuleMaps
unsigned clang::HeaderSearchOptions::ImplicitModuleMaps
◆ ModuleCachePath
std::string clang::HeaderSearchOptions::ModuleCachePath
◆ ModuleCachePruneAfter
unsigned clang::HeaderSearchOptions::ModuleCachePruneAfter = 31 * 24 * 60 * 60
◆ ModuleCachePruneInterval
unsigned clang::HeaderSearchOptions::ModuleCachePruneInterval = 7 * 24 * 60 * 60
◆ ModuleFileHomeIsCwd
unsigned clang::HeaderSearchOptions::ModuleFileHomeIsCwd
Set the base path of a built module file to be the current working directory.
This is useful for sharing module files across machines that build with different paths without having to rewrite all modulemap files to have working directory relative paths.
Definition at line 152 of file HeaderSearchOptions.h.
◆ ModuleFormat
std::string clang::HeaderSearchOptions::ModuleFormat
◆ ModuleMapFileHomeIsCwd
unsigned clang::HeaderSearchOptions::ModuleMapFileHomeIsCwd
Set the 'home directory' of a module map file to the current working directory (or the home directory of the module map file that contained the 'extern module' directive importing this module map file if any) rather than the directory containing the module map file.
The home directory is where we look for files named in the module map file.
Definition at line 145 of file HeaderSearchOptions.h.
◆ ModulesHashContent
unsigned clang::HeaderSearchOptions::ModulesHashContent
◆ ModulesIgnoreMacros
◆ ModulesIncludeVFSUsage
unsigned clang::HeaderSearchOptions::ModulesIncludeVFSUsage
Whether to include ivfsoverlay usage information in written AST files.
Definition at line 272 of file HeaderSearchOptions.h.
◆ ModulesPruneNonAffectingModuleMaps
unsigned clang::HeaderSearchOptions::ModulesPruneNonAffectingModuleMaps
◆ ModulesSerializeOnlyPreprocessor
unsigned clang::HeaderSearchOptions::ModulesSerializeOnlyPreprocessor
◆ ModulesSkipDiagnosticOptions
unsigned clang::HeaderSearchOptions::ModulesSkipDiagnosticOptions
◆ ModulesSkipHeaderSearchPaths
unsigned clang::HeaderSearchOptions::ModulesSkipHeaderSearchPaths
◆ ModulesSkipPragmaDiagnosticMappings
unsigned clang::HeaderSearchOptions::ModulesSkipPragmaDiagnosticMappings
Whether to entirely skip writing pragma diagnostic mappings.
Primarily used to speed up deserialization during dependency scanning.
Definition at line 249 of file HeaderSearchOptions.h.
◆ ModulesStrictContextHash
unsigned clang::HeaderSearchOptions::ModulesStrictContextHash
◆ ModulesValidateDiagnosticOptions
unsigned clang::HeaderSearchOptions::ModulesValidateDiagnosticOptions
◆ ModulesValidateOncePerBuildSession
unsigned clang::HeaderSearchOptions::ModulesValidateOncePerBuildSession
◆ ModulesValidateSystemHeaders
unsigned clang::HeaderSearchOptions::ModulesValidateSystemHeaders
◆ ModuleUserBuildPath
std::string clang::HeaderSearchOptions::ModuleUserBuildPath
◆ PrebuiltModuleFiles
std::map<std::string, std::string, std::less<> > clang::HeaderSearchOptions::PrebuiltModuleFiles
◆ PrebuiltModulePaths
std::vectorstd::string clang::HeaderSearchOptions::PrebuiltModulePaths
◆ ResourceDir
std::string clang::HeaderSearchOptions::ResourceDir
◆ Sysroot
std::string clang::HeaderSearchOptions::Sysroot
◆ SystemHeaderPrefixes
◆ UseBuiltinIncludes
unsigned clang::HeaderSearchOptions::UseBuiltinIncludes
◆ UseDebugInfo
unsigned clang::HeaderSearchOptions::UseDebugInfo
◆ UseLibcxx
unsigned clang::HeaderSearchOptions::UseLibcxx
◆ UserEntries
std::vector<Entry> clang::HeaderSearchOptions::UserEntries
◆ UseStandardCXXIncludes
unsigned clang::HeaderSearchOptions::UseStandardCXXIncludes
◆ UseStandardSystemIncludes
unsigned clang::HeaderSearchOptions::UseStandardSystemIncludes
◆ ValidateASTInputFilesContent
unsigned clang::HeaderSearchOptions::ValidateASTInputFilesContent
◆ Verbose
unsigned clang::HeaderSearchOptions::Verbose
◆ VFSOverlayFiles
std::vectorstd::string clang::HeaderSearchOptions::VFSOverlayFiles
The documentation for this class was generated from the following file:
- include/clang/Lex/HeaderSearchOptions.h