8 #ifndef LLVM_CLANG_DRIVER_SANITIZERARGS_H 9 #define LLVM_CLANG_DRIVER_SANITIZERARGS_H 13 #include "llvm/Option/Arg.h" 14 #include "llvm/Option/ArgList.h" 28 std::vector<std::string> UserBlacklistFiles;
29 std::vector<std::string> SystemBlacklistFiles;
30 int CoverageFeatures = 0;
31 int MsanTrackOrigins = 0;
32 bool MsanUseAfterDtor =
true;
33 bool CfiCrossDso =
false;
34 bool CfiICallGeneralizePointers =
false;
35 bool CfiCanonicalJumpTables =
false;
36 int AsanFieldPadding = 0;
37 bool SharedRuntime =
false;
38 bool AsanUseAfterScope =
true;
39 bool AsanPoisonCustomArrayCookie =
false;
40 bool AsanGlobalsDeadStripping =
false;
41 bool AsanUseOdrIndicator =
false;
42 bool AsanInvalidPointerCmp =
false;
43 bool AsanInvalidPointerSub =
false;
44 std::string HwasanAbi;
45 bool LinkRuntimes =
true;
46 bool LinkCXXRuntimes =
false;
48 bool SafeStackRuntime =
false;
50 bool TsanMemoryAccess =
true;
51 bool TsanFuncEntryExit =
true;
52 bool TsanAtomics =
true;
53 bool MinimalRuntime =
false;
55 bool ImplicitCfiRuntime =
false;
65 return Sanitizers.
has(SanitizerKind::HWAddress);
71 return Sanitizers.
has(SanitizerKind::Leak) &&
72 !Sanitizers.
has(SanitizerKind::Address) &&
73 !Sanitizers.
has(SanitizerKind::HWAddress);
92 llvm::opt::ArgStringList &CmdArgs,
types::ID InputType)
const;
bool needsStatsRt() const
bool needsHwasanRt() const
void addArgs(const ToolChain &TC, const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs, types::ID InputType) const
Defines the clang::SanitizerKind enum.
bool needsUbsanRt() const
bool linkRuntimes() const
bool hasAnySanitizer() const
bool hasCrossDsoCfi() const
bool needsCfiDiagRt() const
bool needsUnwindTables() const
bool requiresMinimalRuntime() const
bool needsSafeStackRt() const
bool needsDfsanRt() const
bool needsScudoRt() const
Dataflow Directional Tag Classes.
bool empty() const
Returns true if no sanitizers are enabled.
bool has(SanitizerMask K) const
Check if a certain (single) sanitizer is enabled.
bool needsSharedRt() const
SanitizerArgs(const ToolChain &TC, const llvm::opt::ArgList &Args)
Parses the sanitizer arguments from an argument list.
bool linkCXXRuntimes() const