================
@@ -34,7 +34,11 @@ bool NoSanitizeList::containsGlobal(SanitizerMask Mask, 
StringRef GlobalName,
 
 bool NoSanitizeList::containsType(SanitizerMask Mask, StringRef 
MangledTypeName,
                                   StringRef Category) const {
-  return SSCL->inSection(Mask, "type", MangledTypeName, Category);
+  auto NoSan = SSCL->inSectionBlame(Mask, "type", MangledTypeName, Category);
+  if (NoSan == llvm::SpecialCaseList::NotFound)
+    return false;
+  auto San = SSCL->inSectionBlame(Mask, "type", MangledTypeName, "sanitize");
+  return San == llvm::SpecialCaseList::NotFound || NoSan > San;
----------------
JustinStitt wrote:

PR looks good to me. Only quirk is `NoSan > San`. The `auto`s slightly obscure 
the fact these are `pair` types. Thankfully, the `FileIdx` portion of the pair 
is properly mapped left-to-right alongside all the `-fsanitize-ignorelist=` 
arguments within `SpecialCaseList::createInternal`. This means we'll get the 
obvious behavior of most recent SCL file which is then further delineated by 
line number.

https://github.com/llvm/llvm-project/pull/142006
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to