clang 22.0.0git
|
#include "clang/Driver/SanitizerArgs.h"
Definition at line 24 of file SanitizerArgs.h.
SanitizerArgs::SanitizerArgs | ( | const ToolChain & | TC, |
const llvm::opt::ArgList & | Args, | ||
bool | DiagnoseErrors = true ) |
Parses the sanitizer arguments from an argument list.
Definition at line 395 of file SanitizerArgs.cpp.
References addDefaultIgnorelists(), AlwaysRecoverable, AnnotateDebugInfoDefault, clang::AsanDetectStackUseAfterReturnModeFromString(), clang::AsanDtorKindFromString(), clang::driver::Driver::CCCIsCXX(), CompatibleWithMinimalRuntime, Coverage8bitCounters, CoverageBB, CoverageControlFlow, CoverageEdge, CoverageFunc, CoverageIndirCall, CoverageInline8bitCounters, CoverageInlineBoolFlag, CoveragePCTable, CoverageStackDepth, CoverageTraceBB, CoverageTraceCmp, CoverageTraceLoads, CoverageTracePC, CoverageTracePCGuard, CoverageTraceStores, clang::Default, describeSanitizeArg(), clang::driver::Driver::Diag(), clang::expandSanitizerGroups(), clang::Function, clang::driver::ToolChain::getDefaultSanitizers(), clang::driver::ToolChain::getDriver(), clang::driver::ToolChain::getRTTIArg(), clang::driver::ToolChain::getRTTIMode(), clang::driver::ToolChain::getSupportedSanitizers(), clang::driver::ToolChain::getTriple(), clang::Incompatible, isExecuteOnlyTarget(), clang::driver::Driver::isUsingLTO(), lastArgumentForMask(), clang::SanitizerSet::Mask, MergeDefault, NeedsLTO, NeedsUbsanCxxRt, NotAllowedWithExecuteOnly, NotAllowedWithMinimalRuntime, NotAllowedWithTrap, parseArgValues(), parseBinaryMetadataFeatures(), parseCoverageFeatures(), parseOverflowPatternExclusionValues(), parseSanitizeArgs(), parseSanitizeSkipHotCutoffArgs(), parseSanitizeTrapArgs(), parseSpecialCaseListArg(), RecoverableByDefault, clang::driver::ToolChain::RM_Disabled, setGroupBits(), SupportsCoverage, toString(), and Unrecoverable.
void SanitizerArgs::addArgs | ( | const ToolChain & | TC, |
const llvm::opt::ArgList & | Args, | ||
llvm::opt::ArgStringList & | CmdArgs, | ||
types::ID | InputType ) const |
Definition at line 1260 of file SanitizerArgs.cpp.
References addIncludeLinkerOption(), addSpecialCaseListOpt(), clang::AsanDetectStackUseAfterReturnModeToString(), clang::AsanDtorKindToString(), BinaryMetadataAtomics, BinaryMetadataCovered, BinaryMetadataUAR, CFIClasses, Coverage8bitCounters, CoverageBB, CoverageControlFlow, CoverageEdge, CoverageFunc, CoverageIndirCall, CoverageInline8bitCounters, CoverageInlineBoolFlag, CoverageNoPrune, CoveragePCTable, CoverageStackDepth, CoverageTraceBB, CoverageTraceCmp, CoverageTraceDiv, CoverageTraceGep, CoverageTraceLoads, CoverageTracePC, CoverageTracePCGuard, CoverageTraceStores, clang::driver::Driver::Diag(), clang::driver::ToolChain::getCompilerRTBasename(), clang::driver::ToolChain::getDriver(), clang::driver::ToolChain::getTriple(), hasTargetFeatureMTE(), clang::driver::types::isCXX(), lastArgumentForMask(), needsStatsRt(), needsUbsanRt(), and toString().
|
inline |
Definition at line 131 of file SanitizerArgs.h.
|
inline |
Definition at line 146 of file SanitizerArgs.h.
Referenced by clang::driver::toolchains::NetBSD::addClangTargetOptions().
|
inline |
Definition at line 145 of file SanitizerArgs.h.
|
inline |
Definition at line 119 of file SanitizerArgs.h.
References hasMemtagGlobals(), hasMemtagHeap(), and hasMemtagStack().
|
inline |
Definition at line 128 of file SanitizerArgs.h.
Referenced by hasMemTag().
|
inline |
Definition at line 122 of file SanitizerArgs.h.
Referenced by hasMemTag().
|
inline |
Definition at line 125 of file SanitizerArgs.h.
Referenced by hasMemTag().
|
inline |
Definition at line 136 of file SanitizerArgs.h.
|
inline |
Definition at line 144 of file SanitizerArgs.h.
Referenced by collectSanitizerRuntimes().
|
inline |
Definition at line 143 of file SanitizerArgs.h.
Referenced by clang::driver::toolchains::DarwinClang::AddLinkRuntimeLibArgs(), and collectSanitizerRuntimes().
|
inline |
Definition at line 88 of file SanitizerArgs.h.
Referenced by clang::driver::toolchains::DarwinClang::AddLinkRuntimeLibArgs(), clang::driver::toolchains::PS4CPU::addSanitizerArgs(), clang::driver::toolchains::PS5CPU::addSanitizerArgs(), collectSanitizerRuntimes(), clang::driver::tools::fuchsia::Linker::ConstructJob(), clang::driver::tools::MinGW::Linker::ConstructJob(), clang::driver::tools::solaris::Linker::ConstructJob(), needsFuzzerInterceptors(), and needsUbsanRt().
bool SanitizerArgs::needsCfiCrossDsoDiagRt | ( | ) | const |
Definition at line 379 of file SanitizerArgs.cpp.
Referenced by collectSanitizerRuntimes(), needsCfiCrossDsoRt(), and needsUbsanRt().
bool SanitizerArgs::needsCfiCrossDsoRt | ( | ) | const |
Definition at line 374 of file SanitizerArgs.cpp.
References needsCfiCrossDsoDiagRt().
Referenced by collectSanitizerRuntimes().
|
inline |
Definition at line 108 of file SanitizerArgs.h.
Referenced by collectSanitizerRuntimes(), and needsUbsanRt().
|
inline |
Definition at line 98 of file SanitizerArgs.h.
Referenced by clang::driver::toolchains::DarwinClang::AddLinkRuntimeLibArgs(), and needsFuzzerInterceptors().
bool SanitizerArgs::needsFuzzerInterceptors | ( | ) | const |
Definition at line 351 of file SanitizerArgs.cpp.
References needsAsanRt(), needsFuzzer(), needsMsanRt(), and needsTsanRt().
|
inline |
Definition at line 92 of file SanitizerArgs.h.
References needsHwasanRt().
Referenced by collectSanitizerRuntimes().
|
inline |
Definition at line 89 of file SanitizerArgs.h.
Referenced by collectSanitizerRuntimes(), clang::driver::tools::fuchsia::Linker::ConstructJob(), needsHwasanAliasesRt(), and needsUbsanRt().
|
inline |
Definition at line 99 of file SanitizerArgs.h.
Referenced by clang::driver::toolchains::DarwinClang::AddLinkRuntimeLibArgs(), collectSanitizerRuntimes(), and needsUbsanRt().
bool SanitizerArgs::needsLTO | ( | ) | const |
Definition at line 391 of file SanitizerArgs.cpp.
References NeedsLTO.
|
inline |
Definition at line 87 of file SanitizerArgs.h.
Referenced by clang::driver::toolchains::DarwinClang::AddLinkRuntimeLibArgs(), and collectSanitizerRuntimes().
|
inline |
Definition at line 97 of file SanitizerArgs.h.
Referenced by collectSanitizerRuntimes(), needsFuzzerInterceptors(), and needsUbsanRt().
|
inline |
Definition at line 114 of file SanitizerArgs.h.
Referenced by collectSanitizerRuntimes(), and needsUbsanRt().
|
inline |
Definition at line 117 of file SanitizerArgs.h.
Referenced by clang::driver::toolchains::DarwinClang::AddLinkRuntimeLibArgs(), and collectSanitizerRuntimes().
|
inline |
Definition at line 109 of file SanitizerArgs.h.
Referenced by collectSanitizerRuntimes().
|
inline |
Definition at line 113 of file SanitizerArgs.h.
Referenced by collectSanitizerRuntimes(), and needsUbsanRt().
|
inline |
Definition at line 84 of file SanitizerArgs.h.
Referenced by clang::driver::toolchains::DarwinClang::AddLinkRuntimeLibArgs(), collectSanitizerRuntimes(), clang::driver::tools::fuchsia::Linker::ConstructJob(), clang::driver::tools::netbsd::Linker::ConstructJob(), and clang::driver::tools::solaris::Linker::ConstructJob().
|
inline |
Definition at line 85 of file SanitizerArgs.h.
Referenced by clang::driver::toolchains::DarwinClang::AddLinkRuntimeLibArgs().
|
inline |
Definition at line 112 of file SanitizerArgs.h.
Referenced by addArgs(), clang::driver::toolchains::DarwinClang::AddLinkRuntimeLibArgs(), collectSanitizerRuntimes(), and clang::driver::tools::solaris::Linker::ConstructJob().
|
inline |
Definition at line 96 of file SanitizerArgs.h.
Referenced by clang::driver::toolchains::DarwinClang::AddLinkRuntimeLibArgs(), clang::driver::toolchains::PS5CPU::addSanitizerArgs(), collectSanitizerRuntimes(), clang::driver::tools::fuchsia::Linker::ConstructJob(), needsFuzzerInterceptors(), and needsUbsanRt().
|
inline |
Definition at line 95 of file SanitizerArgs.h.
Referenced by clang::driver::toolchains::DarwinClang::AddLinkRuntimeLibArgs(), and collectSanitizerRuntimes().
bool SanitizerArgs::needsUbsanCXXRt | ( | ) | const |
Definition at line 366 of file SanitizerArgs.cpp.
References NeedsUbsanCxxRt.
Referenced by collectSanitizerRuntimes().
bool SanitizerArgs::needsUbsanRt | ( | ) | const |
Definition at line 355 of file SanitizerArgs.cpp.
References needsAsanRt(), needsCfiCrossDsoDiagRt(), needsDfsanRt(), needsHwasanRt(), needsLsanRt(), needsMsanRt(), needsNsanRt(), needsScudoRt(), needsTsanRt(), NeedsUbsanRt, and requiresMinimalRuntime().
Referenced by addArgs(), clang::driver::toolchains::DarwinClang::AddLinkRuntimeLibArgs(), clang::driver::toolchains::PS4CPU::addSanitizerArgs(), clang::driver::toolchains::PS5CPU::addSanitizerArgs(), collectSanitizerRuntimes(), and clang::driver::tools::solaris::Linker::ConstructJob().
bool SanitizerArgs::needsUnwindTables | ( | ) | const |
Definition at line 387 of file SanitizerArgs.cpp.
References NeedsUnwindTables.
|
inline |
Definition at line 107 of file SanitizerArgs.h.
Referenced by clang::driver::toolchains::DarwinClang::AddLinkRuntimeLibArgs(), collectSanitizerRuntimes(), clang::driver::tools::solaris::Linker::ConstructJob(), and needsUbsanRt().
bool SanitizerArgs::requiresPIE | ( | ) | const |
Definition at line 385 of file SanitizerArgs.cpp.
Referenced by clang::driver::toolchains::FreeBSD::isPIEDefault(), and clang::driver::toolchains::Linux::isPIEDefault().