class SanitizerArgs

Declaration

class SanitizerArgs { /* full declaration omitted */ };

Declared at: clang/include/clang/Driver/SanitizerArgs.h:24

Member Variables

private clang::SanitizerSet Sanitizers
private clang::SanitizerSet RecoverableSanitizers
private clang::SanitizerSet TrapSanitizers
private std::vector<std::string> UserIgnorelistFiles
private std::vector<std::string> SystemIgnorelistFiles
private std::vector<std::string> CoverageAllowlistFiles
private std::vector<std::string> CoverageIgnorelistFiles
private int CoverageFeatures = 0
private int MsanTrackOrigins = 0
private bool MsanUseAfterDtor = true
private bool MsanParamRetval = false
private bool CfiCrossDso = false
private bool CfiICallGeneralizePointers = false
private bool CfiCanonicalJumpTables = false
private int AsanFieldPadding = 0
private bool SharedRuntime = false
private bool AsanUseAfterScope = true
private bool AsanPoisonCustomArrayCookie = false
private bool AsanGlobalsDeadStripping = false
private bool AsanUseOdrIndicator = false
private bool AsanInvalidPointerCmp = false
private bool AsanInvalidPointerSub = false
private bool AsanOutlineInstrumentation = false
private llvm::AsanDtorKind AsanDtorKind = llvm::AsanDtorKind::Invalid
private std::string HwasanAbi
private bool LinkRuntimes = true
private bool LinkCXXRuntimes = false
private bool NeedPIE = false
private bool SafeStackRuntime = false
private bool Stats = false
private bool TsanMemoryAccess = true
private bool TsanFuncEntryExit = true
private bool TsanAtomics = true
private bool MinimalRuntime = false
private bool ImplicitCfiRuntime = false
private bool NeedsMemProfRt = false
private bool HwasanUseAliases = false
private llvm::AsanDetectStackUseAfterReturnMode AsanUseAfterReturn = llvm::AsanDetectStackUseAfterReturnMode::Invalid
private std::string MemtagMode

Method Overview

Methods

SanitizerArgs(const clang::driver::ToolChain& TC,
              const llvm::opt::ArgList& Args,
              bool DiagnoseErrors = true)

Description

Parses the sanitizer arguments from an argument list.

Declared at: clang/include/clang/Driver/SanitizerArgs.h:71

Parameters

const clang::driver::ToolChain& TC
const llvm::opt::ArgList& Args
bool DiagnoseErrors = true

void addArgs(const clang::driver::ToolChain& TC,
             const llvm::opt::ArgList& Args,
             llvm::opt::ArgStringList& CmdArgs,
             types::ID InputType) const

Declared at: clang/include/clang/Driver/SanitizerArgs.h:126

Parameters

const clang::driver::ToolChain& TC
const llvm::opt::ArgList& Args
llvm::opt::ArgStringList& CmdArgs
types::ID InputType

const std::string& getMemtagMode() const

Declared at: clang/include/clang/Driver/SanitizerArgs.h:114

bool hasAnySanitizer() const

Declared at: clang/include/clang/Driver/SanitizerArgs.h:125

bool hasCrossDsoCfi() const

Declared at: clang/include/clang/Driver/SanitizerArgs.h:124

bool hasMemTag() const

Declared at: clang/include/clang/Driver/SanitizerArgs.h:102

bool hasMemtagGlobals() const

Declared at: clang/include/clang/Driver/SanitizerArgs.h:111

bool hasMemtagHeap() const

Declared at: clang/include/clang/Driver/SanitizerArgs.h:105

bool hasMemtagStack() const

Declared at: clang/include/clang/Driver/SanitizerArgs.h:108

bool linkCXXRuntimes() const

Declared at: clang/include/clang/Driver/SanitizerArgs.h:123

bool linkRuntimes() const

Declared at: clang/include/clang/Driver/SanitizerArgs.h:122

bool needsAsanRt() const

Declared at: clang/include/clang/Driver/SanitizerArgs.h:77

bool needsCfiDiagRt() const

Declared at: clang/include/clang/Driver/SanitizerArgs.h:98

bool needsCfiRt() const

Declared at: clang/include/clang/Driver/SanitizerArgs.h:97

bool needsDfsanRt() const

Declared at: clang/include/clang/Driver/SanitizerArgs.h:95

bool needsFuzzer() const

Declared at: clang/include/clang/Driver/SanitizerArgs.h:86

bool needsFuzzerInterceptors() const

Declared at: clang/include/clang/Driver/SanitizerArgs.h:92

bool needsHwasanAliasesRt() const

Declared at: clang/include/clang/Driver/SanitizerArgs.h:81

bool needsHwasanRt() const

Declared at: clang/include/clang/Driver/SanitizerArgs.h:78

bool needsLTO() const

Declared at: clang/include/clang/Driver/SanitizerArgs.h:121

bool needsLsanRt() const

Declared at: clang/include/clang/Driver/SanitizerArgs.h:87

bool needsMemProfRt() const

Declared at: clang/include/clang/Driver/SanitizerArgs.h:76

bool needsMsanRt() const

Declared at: clang/include/clang/Driver/SanitizerArgs.h:85

bool needsSafeStackRt() const

Declared at: clang/include/clang/Driver/SanitizerArgs.h:96

bool needsScudoRt() const

Declared at: clang/include/clang/Driver/SanitizerArgs.h:100

bool needsSharedRt() const

Declared at: clang/include/clang/Driver/SanitizerArgs.h:74

bool needsStatsRt() const

Declared at: clang/include/clang/Driver/SanitizerArgs.h:99

bool needsTsanRt() const

Declared at: clang/include/clang/Driver/SanitizerArgs.h:84

bool needsUbsanRt() const

Declared at: clang/include/clang/Driver/SanitizerArgs.h:93

bool needsUnwindTables() const

Declared at: clang/include/clang/Driver/SanitizerArgs.h:120

bool requiresMinimalRuntime() const

Declared at: clang/include/clang/Driver/SanitizerArgs.h:94

bool requiresPIE() const

Declared at: clang/include/clang/Driver/SanitizerArgs.h:119