diff options
| -rw-r--r-- | clang/lib/Basic/SanitizerBlacklist.cpp | 3 | ||||
| -rw-r--r-- | clang/test/CodeGen/address-safety-attr.cpp | 9 |
2 files changed, 11 insertions, 1 deletions
diff --git a/clang/lib/Basic/SanitizerBlacklist.cpp b/clang/lib/Basic/SanitizerBlacklist.cpp index 9b2cdfd4f5a..c894129e2a4 100644 --- a/clang/lib/Basic/SanitizerBlacklist.cpp +++ b/clang/lib/Basic/SanitizerBlacklist.cpp @@ -40,6 +40,7 @@ bool SanitizerBlacklist::isBlacklistedFile(StringRef FileName, bool SanitizerBlacklist::isBlacklistedLocation(SourceLocation Loc, StringRef Category) const { - return !Loc.isInvalid() && isBlacklistedFile(SM.getFilename(Loc), Category); + return !Loc.isInvalid() && + isBlacklistedFile(SM.getFilename(SM.getSpellingLoc(Loc)), Category); } diff --git a/clang/test/CodeGen/address-safety-attr.cpp b/clang/test/CodeGen/address-safety-attr.cpp index ee368f11ebd..0d585c74495 100644 --- a/clang/test/CodeGen/address-safety-attr.cpp +++ b/clang/test/CodeGen/address-safety-attr.cpp @@ -64,6 +64,15 @@ int AddressSafetyOk(int *a) { return *a; } // ASAN: BlacklistedFunction{{.*}}) [[WITH]] int BlacklistedFunction(int *a) { return *a; } +#define GENERATE_FUNC(name) \ + int name(int *a) { return *a; } + +// WITHOUT: GeneratedFunction{{.*}}) [[NOATTR]] +// BLFILE: GeneratedFunction{{.*}}) [[NOATTR]] +// BLFUNC: GeneratedFunction{{.*}}) [[WITH]] +// ASAN: GeneratedFunction{{.*}}) [[WITH]] +GENERATE_FUNC(GeneratedFunction) + // WITHOUT: TemplateAddressSafetyOk{{.*}}) [[NOATTR]] // BLFILE: TemplateAddressSafetyOk{{.*}}) [[NOATTR]] // BLFUNC: TemplateAddressSafetyOk{{.*}}) [[WITH]] |

