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.

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 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.

◆ 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::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 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: