summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic
diff options
context:
space:
mode:
authorJan Korous <jkorous@apple.com>2019-11-08 10:40:27 -0800
committerJan Korous <jkorous@apple.com>2019-11-08 10:58:50 -0800
commit590f279c456bbde632eca8ef89a85c478f15a249 (patch)
tree6005e7dc6a41b6310f3622d90b2d1eadb3e4b982 /clang/lib/Basic
parent3ffbf9720fb01d156f09b0eabdeafc548711fb19 (diff)
downloadbcm5719-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.cpp4
-rw-r--r--clang/lib/Basic/SanitizerSpecialCaseList.cpp8
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);
}
OpenPOWER on IntegriCloud