9 #ifndef LLVM_CLANG_DRIVER_SANITIZERARGS_H 10 #define LLVM_CLANG_DRIVER_SANITIZERARGS_H 14 #include "llvm/Option/Arg.h" 15 #include "llvm/Option/ArgList.h" 29 std::vector<std::string> BlacklistFiles;
30 std::vector<std::string> ExtraDeps;
31 int CoverageFeatures = 0;
32 int MsanTrackOrigins = 0;
33 bool MsanUseAfterDtor =
false;
34 bool CfiCrossDso =
false;
35 bool CfiICallGeneralizePointers =
false;
36 int AsanFieldPadding = 0;
37 bool SharedRuntime =
false;
38 bool AsanUseAfterScope =
true;
39 bool AsanGlobalsDeadStripping =
false;
40 bool LinkCXXRuntimes =
false;
42 bool SafeStackRuntime =
false;
44 bool TsanMemoryAccess =
true;
45 bool TsanFuncEntryExit =
true;
46 bool TsanAtomics =
true;
47 bool MinimalRuntime =
false;
49 bool ImplicitCfiRuntime =
false;
63 return Sanitizers.
has(SanitizerKind::Leak) &&
64 !Sanitizers.
has(SanitizerKind::Address) &&
65 !Sanitizers.
has(SanitizerKind::HWAddress);
75 return Sanitizers.
hasOneOf(SanitizerKind::Efficiency);
84 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 hasOneOf(SanitizerMask K) const
Check if one or more sanitizers are enabled.
bool needsUbsanRt() 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 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