diff options
Diffstat (limited to 'clang/lib/CodeGen/SanitizerMetadata.cpp')
-rw-r--r-- | clang/lib/CodeGen/SanitizerMetadata.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/clang/lib/CodeGen/SanitizerMetadata.cpp b/clang/lib/CodeGen/SanitizerMetadata.cpp index 24ae6c6e362f..cdf83370c41f 100644 --- a/clang/lib/CodeGen/SanitizerMetadata.cpp +++ b/clang/lib/CodeGen/SanitizerMetadata.cpp @@ -13,6 +13,7 @@ #include "CodeGenModule.h" #include "clang/AST/Attr.h" #include "clang/AST/Type.h" +#include "clang/Basic/SourceManager.h" #include "llvm/ADT/StringRef.h" #include "llvm/IR/Constants.h" @@ -30,16 +31,16 @@ static bool isAsanHwasanOrMemTag(const SanitizerSet& SS) { void SanitizerMetadata::reportGlobalToASan(llvm::GlobalVariable *GV, SourceLocation Loc, StringRef Name, QualType Ty, bool IsDynInit, - bool IsBlacklisted) { + bool IsExcluded) { if (!isAsanHwasanOrMemTag(CGM.getLangOpts().Sanitize)) return; IsDynInit &= !CGM.isInSanitizerBlacklist(GV, Loc, Ty, "init"); - IsBlacklisted |= CGM.isInSanitizerBlacklist(GV, Loc, Ty); + IsExcluded |= CGM.isInSanitizerBlacklist(GV, Loc, Ty); llvm::Metadata *LocDescr = nullptr; llvm::Metadata *GlobalName = nullptr; llvm::LLVMContext &VMContext = CGM.getLLVMContext(); - if (!IsBlacklisted) { + if (!IsExcluded) { // Don't generate source location and global name if it is blacklisted - // it won't be instrumented anyway. LocDescr = getLocationMetadata(Loc); @@ -52,7 +53,7 @@ void SanitizerMetadata::reportGlobalToASan(llvm::GlobalVariable *GV, llvm::ConstantAsMetadata::get( llvm::ConstantInt::get(llvm::Type::getInt1Ty(VMContext), IsDynInit)), llvm::ConstantAsMetadata::get(llvm::ConstantInt::get( - llvm::Type::getInt1Ty(VMContext), IsBlacklisted))}; + llvm::Type::getInt1Ty(VMContext), IsExcluded))}; llvm::MDNode *ThisGlobal = llvm::MDNode::get(VMContext, GlobalMetadata); llvm::NamedMDNode *AsanGlobals = @@ -68,12 +69,12 @@ void SanitizerMetadata::reportGlobalToASan(llvm::GlobalVariable *GV, llvm::raw_string_ostream OS(QualName); D.printQualifiedName(OS); - bool IsBlacklisted = false; + bool IsExcluded = false; for (auto Attr : D.specific_attrs<NoSanitizeAttr>()) if (Attr->getMask() & SanitizerKind::Address) - IsBlacklisted = true; + IsExcluded = true; reportGlobalToASan(GV, D.getLocation(), OS.str(), D.getType(), IsDynInit, - IsBlacklisted); + IsExcluded); } void SanitizerMetadata::disableSanitizerForGlobal(llvm::GlobalVariable *GV) { |