std::vector<std::string> UserIgnorelistFiles;
32std::vector<std::string> SystemIgnorelistFiles;
33std::vector<std::string> CoverageAllowlistFiles;
34std::vector<std::string> CoverageIgnorelistFiles;
35std::vector<std::string> BinaryMetadataIgnorelistFiles;
36 intCoverageFeatures = 0;
37 intBinaryMetadataFeatures = 0;
38 intOverflowPatternExclusions = 0;
39 intMsanTrackOrigins = 0;
40 boolMsanUseAfterDtor =
true;
41 boolMsanParamRetval =
true;
42 boolCfiCrossDso =
false;
43 boolCfiICallGeneralizePointers =
false;
44 boolCfiICallNormalizeIntegers =
false;
45 boolCfiCanonicalJumpTables =
false;
46 intAsanFieldPadding = 0;
47 boolSharedRuntime =
false;
48 boolStableABI =
false;
49 boolAsanUseAfterScope =
true;
50 boolAsanPoisonCustomArrayCookie =
false;
51 boolAsanGlobalsDeadStripping =
false;
52 boolAsanUseOdrIndicator =
false;
53 boolAsanInvalidPointerCmp =
false;
54 boolAsanInvalidPointerSub =
false;
55 boolAsanOutlineInstrumentation =
false;
56llvm::AsanDtorKind AsanDtorKind = llvm::AsanDtorKind::Invalid;
57std::string HwasanAbi;
58 boolLinkRuntimes =
true;
59 boolLinkCXXRuntimes =
false;
60 boolNeedPIE =
false;
61 boolSafeStackRuntime =
false;
63 boolTsanMemoryAccess =
true;
64 boolTsanFuncEntryExit =
true;
65 boolTsanAtomics =
true;
66 boolMinimalRuntime =
false;
68 boolImplicitCfiRuntime =
false;
69 boolNeedsMemProfRt =
false;
70 boolHwasanUseAliases =
false;
71llvm::AsanDetectStackUseAfterReturnMode AsanUseAfterReturn =
72llvm::AsanDetectStackUseAfterReturnMode::Invalid;
74std::string MemtagMode;
79 boolDiagnoseErrors =
true);
85 bool needsAsanRt()
const{
returnSanitizers.
has(SanitizerKind::Address); }
87 returnSanitizers.
has(SanitizerKind::HWAddress);
93 bool needsTsanRt()
const{
returnSanitizers.
has(SanitizerKind::Thread); }
94 bool needsMsanRt()
const{
returnSanitizers.
has(SanitizerKind::Memory); }
95 bool needsFuzzer()
const{
returnSanitizers.
has(SanitizerKind::Fuzzer); }
97 returnSanitizers.
has(SanitizerKind::Leak) &&
98!Sanitizers.
has(SanitizerKind::Address) &&
99!Sanitizers.
has(SanitizerKind::HWAddress);
112 returnSanitizers.
has(SanitizerKind::NumericalStability);
120 returnSanitizers.
has(SanitizerKind::MemtagHeap);
123 returnSanitizers.
has(SanitizerKind::MemtagStack);
126 returnSanitizers.
has(SanitizerKind::MemtagGlobals);
129assert(!MemtagMode.empty());
134 returnSanitizers.
has(SanitizerKind::ShadowCallStack);
145llvm::opt::ArgStringList &CmdArgs,
types::IDInputType)
const;
Defines the clang::SanitizerKind enum.
bool needsFuzzerInterceptors() const
bool needsHwasanAliasesRt() const
bool needsStatsRt() const
bool needsMemProfRt() const
bool needsCfiDiagRt() const
bool linkRuntimes() const
bool needsUbsanRt() const
bool needsHwasanRt() const
bool hasCrossDsoCfi() const
bool hasMemtagHeap() const
bool hasAnySanitizer() const
bool needsSafeStackRt() const
bool needsRtsanRt() const
bool requiresMinimalRuntime() const
bool needsUnwindTables() const
bool hasMemtagStack() const
bool needsDfsanRt() const
bool needsScudoRt() const
bool needsUbsanCXXRt() const
bool hasMemtagGlobals() const
bool hasShadowCallStack() const
const std::string & getMemtagMode() const
void addArgs(const ToolChain &TC, const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs, types::ID InputType) const
bool needsSharedRt() const
bool needsTysanRt() const
bool linkCXXRuntimes() const
bool needsStableAbi() const
The JSON file list parser is used to communicate input to InstallAPI.
bool empty() const
Returns true if no sanitizers are enabled.
bool has(SanitizerMask K) const
Check if a certain (single) sanitizer is enabled.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4