diff options
author | Alexey Samsonov <vonosmas@gmail.com> | 2014-10-16 23:50:26 +0000 |
---|---|---|
committer | Alexey Samsonov <vonosmas@gmail.com> | 2014-10-16 23:50:26 +0000 |
commit | 33e00e22dadec919bee9ce24c0099fb79b8d38a1 (patch) | |
tree | 9f76cab909aa1852b23de5bccbe70bb5f4dd423a /clang/lib/Basic/SanitizerBlacklist.cpp | |
parent | 63f2c2cb6599aed7db956272a6a0f541d864e69b (diff) | |
download | bcm5719-llvm-33e00e22dadec919bee9ce24c0099fb79b8d38a1.tar.gz bcm5719-llvm-33e00e22dadec919bee9ce24c0099fb79b8d38a1.zip |
Teach SanitizerBlacklist to blacklist by SourceLocation. NFC.
llvm-svn: 219993
Diffstat (limited to 'clang/lib/Basic/SanitizerBlacklist.cpp')
-rw-r--r-- | clang/lib/Basic/SanitizerBlacklist.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/clang/lib/Basic/SanitizerBlacklist.cpp b/clang/lib/Basic/SanitizerBlacklist.cpp index 84ec2100b62..f0221331ed2 100644 --- a/clang/lib/Basic/SanitizerBlacklist.cpp +++ b/clang/lib/Basic/SanitizerBlacklist.cpp @@ -29,8 +29,9 @@ static StringRef GetGlobalTypeString(const llvm::GlobalValue &G) { return "<unknown type>"; } -SanitizerBlacklist::SanitizerBlacklist(const std::string &BlacklistPath) - : SCL(llvm::SpecialCaseList::createOrDie(BlacklistPath)) {} +SanitizerBlacklist::SanitizerBlacklist(StringRef BlacklistPath, + SourceManager &SM) + : SCL(llvm::SpecialCaseList::createOrDie(BlacklistPath)), SM(SM) {} bool SanitizerBlacklist::isIn(const llvm::Function &F) const { return isBlacklistedFile(F.getParent()->getModuleIdentifier()) || @@ -57,3 +58,9 @@ bool SanitizerBlacklist::isBlacklistedFile(StringRef FileName, StringRef Category) const { return SCL->inSection("src", FileName, Category); } + +bool SanitizerBlacklist::isBlacklistedLocation(SourceLocation Loc, + StringRef Category) const { + return !Loc.isInvalid() && isBlacklistedFile(SM.getFilename(Loc), Category); +} + |