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: