clang 22.0.0git
|
Classes | |
struct | CachedFileContents |
Contents and directive tokens of a cached file entry. More... | |
class | CachedFileSystemEntry |
An in-memory representation of a file system entity that is of interest to the dependency scanning filesystem. More... | |
class | CallbackActionController |
A simple dependency action controller that uses a callback. More... | |
struct | Command |
A command-line tool invocation that is part of building a TU. More... | |
class | DependencyActionController |
Dependency scanner callbacks that are used during scanning to influence the behaviour of the scan - for example, to customize the scanned invocations. More... | |
class | DependencyConsumer |
class | DependencyScanningFilesystemLocalCache |
This class is a local cache, that caches the 'stat' and 'open' calls to the underlying real file system. More... | |
class | DependencyScanningFilesystemSharedCache |
This class is a shared cache, that caches the 'stat' and 'open' calls to the underlying real file system, and the scanned preprocessor directives of files. More... | |
class | DependencyScanningService |
The dependency scanning service contains shared configuration and state that is used by the individual dependency scanning workers. More... | |
class | DependencyScanningTool |
The high-level implementation of the dependency discovery tool that runs on an individual worker thread. More... | |
class | DependencyScanningWorker |
An individual dependency scanning worker that is able to run on its own thread. More... | |
class | DependencyScanningWorkerFilesystem |
A virtual file system optimized for the dependency discovery. More... | |
class | EntryRef |
Reference to a CachedFileSystemEntry. More... | |
class | FullDependencyConsumer |
struct | ModuleCacheEntries |
struct | ModuleCacheEntry |
class | ModuleDepCollector |
Collects modular and non-modular dependencies of the main file by attaching ModuleDepCollectorPP to the preprocessor. More... | |
class | ModuleDepCollectorPP |
Callback that records textual includes and direct modular includes/imports during preprocessing. More... | |
struct | ModuleDeps |
struct | ModuleID |
This is used to identify a specific module. More... | |
struct | P1689ModuleInfo |
P1689ModuleInfo - Represents the needed information of standard C++20 modules for P1689 format. More... | |
struct | P1689Rule |
class | PrebuiltModuleASTAttrs |
struct | PrebuiltModuleDep |
Modular dependency that has already been built prior to the dependency scan. More... | |
struct | TranslationUnitDeps |
The full dependencies and module graph for a specific input. More... |
Typedefs | |
using | DependencyDirectivesTy |
using | CachedRealPath = llvm::ErrorOr<std::string> |
using | LookupModuleOutputCallback |
A callback to lookup module outputs for "-fmodule-file=", "-o" etc. | |
using | ModuleDepsGraph = std::vector<ModuleDeps> |
Graph of modular dependencies. | |
using | PrebuiltModulesAttrsMap = llvm::StringMap<PrebuiltModuleASTAttrs> |
Attributes loaded from AST files of prebuilt modules collected prior to ModuleDepCollector creation. |
Enumerations | |
enum class | ScanningMode { CanonicalPreprocessing , DependencyDirectivesScan } |
The mode in which the dependency scanner will operate to find the dependencies. More... | |
enum class | ScanningOutputFormat { Make , Full , P1689 } |
The format that is output by the dependency scanner. More... | |
enum class | ScanningOptimizations { None = 0 , HeaderSearch = 1 , SystemWarnings = (1 << 1) , VFS = (1 << 2) , Macros = (1 << 3) , IgnoreCWD = (1 << 4) , DSS_LAST_BITMASK_ENUM =(IgnoreCWD) , Default = All & (~IgnoreCWD) } |
enum class | ModuleOutputKind { ModuleFile , DependencyFile , DependencyTargets , DiagnosticSerializationFile } |
An output from a module compilation, such as the path of the module file. More... |
Functions | |
IntrusiveRefCntPtr< ModuleCache > | makeInProcessModuleCache (ModuleCacheEntries &Entries) |
void | resetBenignCodeGenOptions (frontend::ActionKind ProgramAction, const LangOptions &LangOpts, CodeGenOptions &CGOpts) |
Resets codegen options that don't affect modules/PCH. | |
bool | isPathInStableDir (const ArrayRef< StringRef > Directories, const StringRef Input) |
Determine if Input can be resolved within a stable directory. | |
bool | areOptionsInStableDir (const ArrayRef< StringRef > Directories, const HeaderSearchOptions &HSOpts) |
Determine if options collected from a module's compilation can safely be considered as stable. |
using clang::tooling::dependencies::CachedRealPath = llvm::ErrorOr<std::string> |
Definition at line 146 of file DependencyScanningFilesystem.h.
Definition at line 27 of file DependencyScanningFilesystem.h.
A callback to lookup module outputs for "-fmodule-file=", "-o" etc.
Definition at line 29 of file DependencyScanningTool.h.
using clang::tooling::dependencies::ModuleDepsGraph = std::vector<ModuleDeps> |
Graph of modular dependencies.
Definition at line 33 of file DependencyScanningTool.h.
using clang::tooling::dependencies::PrebuiltModulesAttrsMap = llvm::StringMap<PrebuiltModuleASTAttrs> |
Attributes loaded from AST files of prebuilt modules collected prior to ModuleDepCollector creation.
Definition at line 52 of file ModuleDepCollector.h.
|
strong |
An output from a module compilation, such as the path of the module file.
Definition at line 140 of file ModuleDepCollector.h.
|
strong |
The mode in which the dependency scanner will operate to find the dependencies.
Enumerator | |
---|---|
CanonicalPreprocessing | This mode is used to compute the dependencies by running the preprocessor over the source files. |
DependencyDirectivesScan | This mode is used to compute the dependencies by running the preprocessor with special kind of lexing after scanning header and source files to get the minimum necessary preprocessor directives for evaluating includes. |
Definition at line 23 of file DependencyScanningService.h.
|
strong |
Enumerator | |
---|---|
None | |
HeaderSearch | Remove unused header search paths including header maps. |
SystemWarnings | Remove warnings from system modules. |
VFS | Remove unused -ivfsoverlay arguments. |
Macros | Canonicalize -D and -U options. |
IgnoreCWD | Ignore the compiler's working directory if it is safe. |
DSS_LAST_BITMASK_ENUM | |
Default |
Definition at line 53 of file DependencyScanningService.h.
|
strong |
The format that is output by the dependency scanner.
Enumerator | |
---|---|
Make | This is the Makefile compatible dep format. This will include all of the deps necessary for an implicit modules build, but won't include any intermodule dependency information. |
Full | This outputs the full clang module dependency graph suitable for use for explicitly building modules. |
P1689 | This outputs the dependency graph for standard c++ modules in P1689R5 format. |
Definition at line 35 of file DependencyScanningService.h.
bool clang::tooling::dependencies::areOptionsInStableDir | ( | const ArrayRef< StringRef > | Directories, |
const HeaderSearchOptions & | HSOpts ) |
Determine if options collected from a module's compilation can safely be considered as stable.
Directories | Paths known to be in a stable location. e.g. Sysroot. |
HSOpts | Header search options derived from the compiler invocation. |
Definition at line 228 of file ModuleDepCollector.cpp.
References isPathInStableDir(), clang::HeaderSearchOptions::ResourceDir, clang::HeaderSearchOptions::Sysroot, clang::HeaderSearchOptions::SystemHeaderPrefixes, and clang::HeaderSearchOptions::UserEntries.
bool clang::tooling::dependencies::isPathInStableDir | ( | const ArrayRef< StringRef > | Directories, |
const StringRef | Input ) |
Determine if Input
can be resolved within a stable directory.
Directories | Paths known to be in a stable location. e.g. Sysroot. |
Input | Path to evaluate. |
Definition at line 206 of file ModuleDepCollector.cpp.
Referenced by areOptionsInStableDir().
IntrusiveRefCntPtr< ModuleCache > clang::tooling::dependencies::makeInProcessModuleCache | ( | ModuleCacheEntries & | Entries | ) |
Definition at line 111 of file InProcessModuleCache.cpp.
void clang::tooling::dependencies::resetBenignCodeGenOptions | ( | frontend::ActionKind | ProgramAction, |
const LangOptions & | LangOpts, | ||
CodeGenOptions & | CGOpts ) |
Resets codegen options that don't affect modules/PCH.
Definition at line 186 of file ModuleDepCollector.cpp.
References clang::CodeGenOptions::CoverageCompilationDir, clang::CodeGenOptions::CoverageDataFile, clang::CodeGenOptions::CoverageNotesFile, clang::CodeGenOptions::DebugCompilationDir, clang::CodeGenOptions::DwarfDebugFlags, clang::frontend::GenerateModule, clang::frontend::GeneratePCH, clang::CodeGenOptions::MainFileName, clang::CodeGenOptions::ProfileInstrumentUsePath, clang::CodeGenOptions::ProfileRemappingFile, and clang::CodeGenOptions::SampleProfileFile.
Referenced by clang::tooling::dependencies::ModuleDepCollector::applyDiscoveredDependencies(), and makeCommonInvocationForModuleBuild().