class HeaderSearchOptions
Declaration
class HeaderSearchOptions { /* full declaration omitted */ };
Description
HeaderSearchOptions - Helper class for storing options related to the initialization of the HeaderSearch object.
Declared at: clang/include/clang/Lex/HeaderSearchOptions.h:68
Member Variables
- public std::string Sysroot
- If non-empty, the directory to use as a "virtual system root" for include paths.
- public std::vector<Entry> UserEntries
- User specified include entries.
- public std::vector<SystemHeaderPrefix> SystemHeaderPrefixes
- User-specified system header prefixes.
- public std::string ResourceDir
- The directory which holds the compiler resource files (builtin includes, etc.).
- public std::string ModuleCachePath
- The directory used for the module cache.
- public std::string ModuleUserBuildPath
- The directory used for a user build.
- public std::map<std::string, std::string, std::less<>> PrebuiltModuleFiles
- The mapping of module names to prebuilt module files.
- public std::vector<std::string> PrebuiltModulePaths
- The directories used to load prebuilt module files.
- public std::string ModuleFormat
- The module/pch container format.
- public unsigned int DisableModuleHash
- Note: Only used for testing!
- public unsigned int ImplicitModuleMaps
- Implicit module maps. This option is enabld by default when modules is enabled.
- public unsigned int ModuleMapFileHomeIsCwd
- The home directory is where we look for files named in the module map file.
- public unsigned int 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.
- public unsigned int EnablePrebuiltImplicitModules
- Also search for prebuilt implicit modules in the prebuilt module cache path.
- public unsigned int ModuleCachePruneInterval = 7 * 24 * 60 * 60
- The default value is large, e.g., the operation runs once a week.
- public unsigned int ModuleCachePruneAfter = 31 * 24 * 60 * 60
- When the module cache is pruned, any module file that has not been accessed in this many seconds will be removed. The default value is large, e.g., a month, to avoid forcing infrequently-used modules to be regenerated often.
- public uint64_t BuildSessionTimestamp = 0
- This time is used by other optimizations in header search and module loading.
- public llvm::SmallSetVector<llvm::CachedHashString, 16> ModulesIgnoreMacros
- The set of macro names that should be ignored for the purposes of computing the module hash.
- public std::vector<std::string> VFSOverlayFiles
- The set of user-provided virtual filesystem overlay files.
- public unsigned int UseBuiltinIncludes
- Include the compiler builtin includes.
- public unsigned int UseStandardSystemIncludes
- Include the system standard include search directories.
- public unsigned int UseStandardCXXIncludes
- Include the system standard C++ library include search directories.
- public unsigned int UseLibcxx
- Use libc++ instead of the default libstdc++.
- public unsigned int Verbose
- Whether header search information should be output as for -v.
- public unsigned int ModulesValidateOncePerBuildSession
- If true, skip verifying input files used by modules if the module was already verified during this build session (see\c BuildSessionTimestamp).
- public unsigned int ModulesValidateSystemHeaders
- Whether to validate system input files when a module is loaded.
- public unsigned int ValidateASTInputFilesContent
- public unsigned int UseDebugInfo
- Whether the module includes debug information (-gmodules).
- public unsigned int ModulesValidateDiagnosticOptions
- public unsigned int ModulesHashContent
- public unsigned int ModulesStrictContextHash
- This includes things like the full header search path, and enabled diagnostics.
Method Overview
- public void AddPath(llvm::StringRef Path, frontend::IncludeDirGroup Group, bool IsFramework, bool IgnoreSysRoot)
- public void AddPrebuiltModulePath(llvm::StringRef Name)
- public void AddSystemHeaderPrefix(llvm::StringRef Prefix, bool IsSystemHeader)
- public void AddVFSOverlayFile(llvm::StringRef Name)
- public HeaderSearchOptions(llvm::StringRef _Sysroot = "/")
Methods
¶void AddPath(llvm::StringRef Path,
frontend::IncludeDirGroup Group,
bool IsFramework,
bool IgnoreSysRoot)
void AddPath(llvm::StringRef Path,
frontend::IncludeDirGroup Group,
bool IsFramework,
bool IgnoreSysRoot)
Description
AddPath - Add the \p Path path to the specified \p Group list.
Declared at: clang/include/clang/Lex/HeaderSearchOptions.h:241
Parameters
- llvm::StringRef Path
- frontend::IncludeDirGroup Group
- bool IsFramework
- bool IgnoreSysRoot
¶void AddPrebuiltModulePath(llvm::StringRef Name)
void AddPrebuiltModulePath(llvm::StringRef Name)
Declared at: clang/include/clang/Lex/HeaderSearchOptions.h:257
Parameters
- llvm::StringRef Name
¶void AddSystemHeaderPrefix(llvm::StringRef Prefix,
bool IsSystemHeader)
void AddSystemHeaderPrefix(llvm::StringRef Prefix,
bool IsSystemHeader)
Description
AddSystemHeaderPrefix - Override whether # include directives naming a path starting with \p Prefix should be considered as naming a system header.
Declared at: clang/include/clang/Lex/HeaderSearchOptions.h:249
Parameters
- llvm::StringRef Prefix
- bool IsSystemHeader
¶void AddVFSOverlayFile(llvm::StringRef Name)
void AddVFSOverlayFile(llvm::StringRef Name)
Declared at: clang/include/clang/Lex/HeaderSearchOptions.h:253
Parameters
- llvm::StringRef Name
¶HeaderSearchOptions(
llvm::StringRef _Sysroot = "/")
HeaderSearchOptions(
llvm::StringRef _Sysroot = "/")
Declared at: clang/include/clang/Lex/HeaderSearchOptions.h:228
Parameters
- llvm::StringRef _Sysroot = "/"