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.

Detailed Description

The configuration knobs for the dependency scanning service.

Definition at line 64 of file DependencyScanningService.h.

Constructor & Destructor Documentation

◆ DependencyScanningServiceOptions()

DependencyScanningServiceOptions::DependencyScanningServiceOptions ( )

Definition at line 16 of file DependencyScanningService.cpp.

References MakeVFS.

Member Data Documentation

◆ AsyncScanModules

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

Whether to scan modules asynchronously.

Definition at line 87 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 89 of file DependencyScanningService.h.

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

◆ EagerLoadModules

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

Whether the resulting command lines should load explicit PCMs eagerly.

Definition at line 83 of file DependencyScanningService.h.

◆ EmitWarnings

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

Whether the scanner should emit warnings.

Definition at line 77 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 92 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 71 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 73 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 75 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 79 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 81 of file DependencyScanningService.h.

◆ TraceVFS

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

Whether to trace VFS accesses during the scan.

Definition at line 85 of file DependencyScanningService.h.


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