diff options
author | Jan Korous <jkorous@apple.com> | 2019-11-08 10:40:27 -0800 |
---|---|---|
committer | Jan Korous <jkorous@apple.com> | 2019-11-08 10:58:50 -0800 |
commit | 590f279c456bbde632eca8ef89a85c478f15a249 (patch) | |
tree | 6005e7dc6a41b6310f3622d90b2d1eadb3e4b982 /clang/lib/Basic | |
parent | 3ffbf9720fb01d156f09b0eabdeafc548711fb19 (diff) | |
download | bcm5719-llvm-590f279c456bbde632eca8ef89a85c478f15a249.tar.gz bcm5719-llvm-590f279c456bbde632eca8ef89a85c478f15a249.zip |
[clang] Add VFS support for sanitizers' blacklists
Differential Revision: https://reviews.llvm.org/D69648
Diffstat (limited to 'clang/lib/Basic')
-rw-r--r-- | clang/lib/Basic/SanitizerBlacklist.cpp | 4 | ||||
-rw-r--r-- | clang/lib/Basic/SanitizerSpecialCaseList.cpp | 8 |
2 files changed, 8 insertions, 4 deletions
diff --git a/clang/lib/Basic/SanitizerBlacklist.cpp b/clang/lib/Basic/SanitizerBlacklist.cpp index aec35c7d986..4f71349350f 100644 --- a/clang/lib/Basic/SanitizerBlacklist.cpp +++ b/clang/lib/Basic/SanitizerBlacklist.cpp @@ -16,7 +16,9 @@ using namespace clang; SanitizerBlacklist::SanitizerBlacklist( const std::vector<std::string> &BlacklistPaths, SourceManager &SM) - : SSCL(SanitizerSpecialCaseList::createOrDie(BlacklistPaths)), SM(SM) {} + : SSCL(SanitizerSpecialCaseList::createOrDie( + BlacklistPaths, SM.getFileManager().getVirtualFileSystem())), + SM(SM) {} bool SanitizerBlacklist::isBlacklistedGlobal(SanitizerMask Mask, StringRef GlobalName, diff --git a/clang/lib/Basic/SanitizerSpecialCaseList.cpp b/clang/lib/Basic/SanitizerSpecialCaseList.cpp index 5fb0f9660b1..7a820d4bef8 100644 --- a/clang/lib/Basic/SanitizerSpecialCaseList.cpp +++ b/clang/lib/Basic/SanitizerSpecialCaseList.cpp @@ -16,10 +16,11 @@ using namespace clang; std::unique_ptr<SanitizerSpecialCaseList> SanitizerSpecialCaseList::create(const std::vector<std::string> &Paths, + llvm::vfs::FileSystem &VFS, std::string &Error) { std::unique_ptr<clang::SanitizerSpecialCaseList> SSCL( new SanitizerSpecialCaseList()); - if (SSCL->createInternal(Paths, Error)) { + if (SSCL->createInternal(Paths, Error, VFS)) { SSCL->createSanitizerSections(); return SSCL; } @@ -27,9 +28,10 @@ SanitizerSpecialCaseList::create(const std::vector<std::string> &Paths, } std::unique_ptr<SanitizerSpecialCaseList> -SanitizerSpecialCaseList::createOrDie(const std::vector<std::string> &Paths) { +SanitizerSpecialCaseList::createOrDie(const std::vector<std::string> &Paths, + llvm::vfs::FileSystem &VFS) { std::string Error; - if (auto SSCL = create(Paths, Error)) + if (auto SSCL = create(Paths, VFS, Error)) return SSCL; llvm::report_fatal_error(Error); } |