clang 23.0.0git
clang::dependencies::DependencyScanningServiceOptions Struct Reference

The configuration knobs for the dependency scanning service. More...

#include "clang/DependencyScanning/DependencyScanningService.h"

Public Member Functions

 DependencyScanningServiceOptions ()

Public Attributes

std::function< IntrusiveRefCntPtr< llvm::vfs::FileSystem >()> MakeVFS
 The function invoked to create each worker's VFS.
ScanningMode Mode = ScanningMode::DependencyDirectivesScan
 Whether to use optimized dependency directive scan or full preprocessing.
ScanningOptimizations OptimizeArgs = ScanningOptimizations::Default
 How to optimize resulting explicit module command lines.
bool EmitWarnings = true
 Whether the scanner should emit warnings.
bool ReportAbsolutePaths = true
 Whether to make reported file paths absolute.
bool ReportVisibleModules = false
 Whether to report modules visible from modules that are imported directly.
bool EagerLoadModules = false
 Whether the resulting command lines should load explicit PCMs eagerly.
bool TraceVFS = false
 Whether to trace VFS accesses during the scan.
bool AsyncScanModules = false
 Whether to scan modules asynchronously.
std::time_t BuildSessionTimestamp
 The build session timestamp for validate-once-per-build-session logic.
bool FlushModuleCache = true
 Whether to automatically flush the module cache from memory to disk at the end of the service lifetime.
bool CacheNegativeStats = shouldCacheNegativeStatsDefault()
 Whether the caching VFS should cache missing filesystem entries.

Detailed Description

The configuration knobs for the dependency scanning service.

Definition at line 70 of file DependencyScanningService.h.

Constructor & Destructor Documentation

◆ DependencyScanningServiceOptions()

DependencyScanningServiceOptions::DependencyScanningServiceOptions ( )

Definition at line 41 of file DependencyScanningService.cpp.

References MakeVFS.

Member Data Documentation

◆ AsyncScanModules

bool clang::dependencies::DependencyScanningServiceOptions::AsyncScanModules = false

Whether to scan modules asynchronously.

Definition at line 93 of file DependencyScanningService.h.

◆ BuildSessionTimestamp

std::time_t clang::dependencies::DependencyScanningServiceOptions::BuildSessionTimestamp

The build session timestamp for validate-once-per-build-session logic.

Definition at line 95 of file DependencyScanningService.h.

Referenced by clang::dependencies::createScanCompilerInvocation().

◆ CacheNegativeStats

bool clang::dependencies::DependencyScanningServiceOptions::CacheNegativeStats = shouldCacheNegativeStatsDefault()

Whether the caching VFS should cache missing filesystem entries.

Definition at line 100 of file DependencyScanningService.h.

◆ EagerLoadModules

bool clang::dependencies::DependencyScanningServiceOptions::EagerLoadModules = false

Whether the resulting command lines should load explicit PCMs eagerly.

Definition at line 89 of file DependencyScanningService.h.

◆ EmitWarnings

bool clang::dependencies::DependencyScanningServiceOptions::EmitWarnings = true

Whether the scanner should emit warnings.

Definition at line 83 of file DependencyScanningService.h.

Referenced by clang::dependencies::initializeScanCompilerInstance().

◆ FlushModuleCache

bool clang::dependencies::DependencyScanningServiceOptions::FlushModuleCache = true

Whether to automatically flush the module cache from memory to disk at the end of the service lifetime.

Definition at line 98 of file DependencyScanningService.h.

◆ MakeVFS

std::function<IntrusiveRefCntPtr<llvm::vfs::FileSystem>()> clang::dependencies::DependencyScanningServiceOptions::MakeVFS

The function invoked to create each worker's VFS.

This function and the VFS itself must be thread-safe whenever using multiple workers concurrently or whenever AsyncScanModules is true.

Definition at line 77 of file DependencyScanningService.h.

Referenced by DependencyScanningServiceOptions().

◆ Mode

ScanningMode clang::dependencies::DependencyScanningServiceOptions::Mode = ScanningMode::DependencyDirectivesScan

Whether to use optimized dependency directive scan or full preprocessing.

Definition at line 79 of file DependencyScanningService.h.

Referenced by clang::dependencies::initializeScanCompilerInstance().

◆ OptimizeArgs

ScanningOptimizations clang::dependencies::DependencyScanningServiceOptions::OptimizeArgs = ScanningOptimizations::Default

How to optimize resulting explicit module command lines.

Definition at line 81 of file DependencyScanningService.h.

Referenced by clang::dependencies::createScanCompilerInvocation().

◆ ReportAbsolutePaths

bool clang::dependencies::DependencyScanningServiceOptions::ReportAbsolutePaths = true

Whether to make reported file paths absolute.

Definition at line 85 of file DependencyScanningService.h.

◆ ReportVisibleModules

bool clang::dependencies::DependencyScanningServiceOptions::ReportVisibleModules = false

Whether to report modules visible from modules that are imported directly.

Definition at line 87 of file DependencyScanningService.h.

◆ TraceVFS

bool clang::dependencies::DependencyScanningServiceOptions::TraceVFS = false

Whether to trace VFS accesses during the scan.

Definition at line 91 of file DependencyScanningService.h.


The documentation for this struct was generated from the following files: