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.
ScanningOutputFormat Format = ScanningOutputFormat::Full
 What output format are we expected to produce.
ScanningOptimizations OptimizeArgs = ScanningOptimizations::Default
 How to optimize resulting explicit module command lines.
bool ReportAbsolutePaths = true
 Whether to make reported file paths absolute.
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 80 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 101 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 103 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 97 of file DependencyScanningService.h.

◆ 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 106 of file DependencyScanningService.h.

◆ Format

ScanningOutputFormat clang::dependencies::DependencyScanningServiceOptions::Format = ScanningOutputFormat::Full

What output format are we expected to produce.

Definition at line 91 of file DependencyScanningService.h.

Referenced by clang::dependencies::initializeScanCompilerInstance(), and clang::dependencies::initializeScanInstanceDependencyCollector().

◆ 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 87 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 89 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 93 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 95 of file DependencyScanningService.h.

◆ TraceVFS

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

Whether to trace VFS accesses during the scan.

Definition at line 99 of file DependencyScanningService.h.


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