15 using namespace clang;
17 std::unique_ptr<SanitizerSpecialCaseList>
20 std::unique_ptr<clang::SanitizerSpecialCaseList> SSCL(
22 if (SSCL->createInternal(Paths, Error)) {
23 SSCL->createSanitizerSections();
29 std::unique_ptr<SanitizerSpecialCaseList>
32 if (
auto SSCL =
create(Paths, Error))
34 llvm::report_fatal_error(Error);
38 for (
auto &S : Sections) {
41 #define SANITIZER(NAME, ID) \ 42 if (S.SectionMatcher->match(NAME)) \ 43 Mask |= SanitizerKind::ID; 44 #define SANITIZER_GROUP(NAME, ID, ALIAS) SANITIZER(NAME, ID) 46 #include "clang/Basic/Sanitizers.def" 48 #undef SANITIZER_GROUP 58 if ((S.Mask & Mask) &&
59 SpecialCaseList::inSectionBlame(S.Entries, Prefix, Query, Category))
std::vector< SanitizerSection > SanitizerSections
bool inSection(SanitizerMask Mask, StringRef Prefix, StringRef Query, StringRef Category=StringRef()) const
static std::unique_ptr< SanitizerSpecialCaseList > create(const std::vector< std::string > &Paths, std::string &Error)
void createSanitizerSections()
Dataflow Directional Tag Classes.
static std::unique_ptr< SanitizerSpecialCaseList > createOrDie(const std::vector< std::string > &Paths)