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 int AsanFieldPadding = 0;
36 bool AsanSharedRuntime =
false;
37 bool AsanUseAfterScope =
false;
38 bool LinkCXXRuntimes =
false;
51 return Sanitizers.
has(SanitizerKind::Leak) &&
52 !Sanitizers.
has(SanitizerKind::Address);
57 return Sanitizers.
has(SanitizerKind::SafeStack);
63 return Sanitizers.
hasOneOf(SanitizerKind::Efficiency);
70 llvm::opt::ArgStringList &CmdArgs,
types::ID InputType)
const;
bool needsUnwindTables() const
bool needsDfsanRt() const
Defines the clang::SanitizerKind enum.
void addArgs(const ToolChain &TC, const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs, types::ID InputType) const
bool needsSharedAsanRt() const
bool needsUbsanRt() const
bool hasOneOf(SanitizerMask K) const
Check if one or more sanitizers are enabled.
bool needsSafeStackRt() const
bool needsCfiDiagRt() const
bool has(SanitizerMask K) const
Check if a certain (single) sanitizer is enabled.
bool needsStatsRt() const
SanitizerArgs(const ToolChain &TC, const llvm::opt::ArgList &Args)
Parses the sanitizer arguments from an argument list.
bool linkCXXRuntimes() const