Lines Matching full:sanitizers
11 #include "clang/Basic/Sanitizers.h"
80 /// Produce a string containing comma-separated names of sanitizers in \p
81 /// Sanitizers set.
82 static std::string toString(const clang::SanitizerSet &Sanitizers);
114 #include "clang/Basic/Sanitizers.def" in setGroupBits()
121 // sanitizers disabled by the current sanitizer in parseSanitizeTrapArgs()
162 return ((Sanitizers.Mask & NeedsUbsanRt & ~TrapSanitizers.Mask) || in needsUbsanRt()
164 !Sanitizers.has(Address) && !Sanitizers.has(Memory) && in needsUbsanRt()
165 !Sanitizers.has(Thread) && !Sanitizers.has(DataFlow) && !CfiCrossDso; in needsUbsanRt()
169 return !(Sanitizers.Mask & CFI & ~TrapSanitizers.Mask) && CfiCrossDso; in needsCfiRt()
173 return (Sanitizers.Mask & CFI & ~TrapSanitizers.Mask) && CfiCrossDso; in needsCfiDiagRt()
177 return NeedPIE || (Sanitizers.Mask & RequiresPIE); in requiresPIE()
181 return Sanitizers.Mask & NeedsUnwindTables; in needsUnwindTables()
187 // sanitizers disabled by the current sanitizer in SanitizerArgs()
189 SanitizerMask AllAddedKinds = 0; // Mask of all sanitizers ever enabled by in SanitizerArgs()
215 // sanitizers in Add are those which have been explicitly enabled. in SanitizerArgs()
251 // Take out the Vptr sanitizer from the enabled sanitizers in SanitizerArgs()
258 // Silently discard any unsupported sanitizers implicitly enabled through in SanitizerArgs()
271 // Enable toolchain specific default sanitizers if not explicitly disabled. in SanitizerArgs()
288 // Report error if there are non-trapping sanitizers that require in SanitizerArgs()
307 // Warn about incompatible groups of sanitizers. in SanitizerArgs()
449 // enabled sanitizers. in SanitizerArgs()
573 // Finally, initialize the set of available and recoverable sanitizers. in SanitizerArgs()
574 Sanitizers.Mask |= Kinds; in SanitizerArgs()
579 static std::string toString(const clang::SanitizerSet &Sanitizers) { in toString() argument
582 if (Sanitizers.has(ID)) { \ in toString()
587 #include "clang/Basic/Sanitizers.def" in toString()
609 // Do it even if Sanitizers.empty() since some forms of coverage don't require in addArgs()
610 // sanitizers. in addArgs()
647 if (Sanitizers.empty()) in addArgs()
649 CmdArgs.push_back(Args.MakeArgString("-fsanitize=" + toString(Sanitizers))); in addArgs()
695 if (Sanitizers.has(Memory) || Sanitizers.has(Address)) in addArgs()
700 if (Sanitizers.hasOneOf(CFIClasses) && !TC.getTriple().isOSWindows() && in addArgs()
704 Sanitizers.Mask & CFIClasses) in addArgs()
790 std::string Sanitizers; in describeSanitizeArg() local
795 if (!Sanitizers.empty()) in describeSanitizeArg()
796 Sanitizers += ","; in describeSanitizeArg()
797 Sanitizers += A->getValue(i); in describeSanitizeArg()
801 assert(!Sanitizers.empty() && "arg didn't provide expected value"); in describeSanitizeArg()
802 return "-fsanitize=" + Sanitizers; in describeSanitizeArg()