forked from OSchip/llvm-project
[NFC] Exctract getNoSanitizeMask lambda
This commit is contained in:
parent
f32ad5703e
commit
d7df3f0a4b
|
@ -67,14 +67,18 @@ void SanitizerMetadata::reportGlobal(llvm::GlobalVariable *GV, const VarDecl &D,
|
||||||
llvm::raw_string_ostream OS(QualName);
|
llvm::raw_string_ostream OS(QualName);
|
||||||
D.printQualifiedName(OS);
|
D.printQualifiedName(OS);
|
||||||
|
|
||||||
bool IsExcluded = false;
|
auto getNoSanitizeMask = [](const VarDecl &D) {
|
||||||
for (auto Attr : D.specific_attrs<NoSanitizeAttr>())
|
if (D.hasAttr<DisableSanitizerInstrumentationAttr>())
|
||||||
if (Attr->getMask() & SanitizerKind::Address)
|
return SanitizerKind::All;
|
||||||
IsExcluded = true;
|
|
||||||
if (D.hasAttr<DisableSanitizerInstrumentationAttr>())
|
SanitizerMask NoSanitizeMask;
|
||||||
IsExcluded = true;
|
for (auto *Attr : D.specific_attrs<NoSanitizeAttr>())
|
||||||
|
NoSanitizeMask |= Attr->getMask();
|
||||||
|
|
||||||
|
return NoSanitizeMask;
|
||||||
|
};
|
||||||
reportGlobal(GV, D.getLocation(), OS.str(), D.getType(), IsDynInit,
|
reportGlobal(GV, D.getLocation(), OS.str(), D.getType(), IsDynInit,
|
||||||
IsExcluded);
|
SanitizerSet{getNoSanitizeMask(D)}.has(SanitizerKind::Address));
|
||||||
}
|
}
|
||||||
|
|
||||||
void SanitizerMetadata::reportGlobal(llvm::GlobalVariable *GV,
|
void SanitizerMetadata::reportGlobal(llvm::GlobalVariable *GV,
|
||||||
|
|
Loading…
Reference in New Issue