[clang] [llvm] [UBSan] Support src:*=sanitize for multiple ignorelists. (PR #141640)

Qinkun Bao via cfe-commits cfe-commits at lists.llvm.org
Thu May 29 19:14:01 PDT 2025


================
@@ -44,13 +44,11 @@ bool NoSanitizeList::containsFunction(SanitizerMask Mask,
 
 bool NoSanitizeList::containsFile(SanitizerMask Mask, StringRef FileName,
                                   StringRef Category) const {
-  unsigned NoSanLine = SSCL->inSectionBlame(Mask, "src", FileName, Category);
-  if (NoSanLine == 0)
+  auto NoSan = SSCL->inSectionBlame(Mask, "src", FileName, Category);
+  if (NoSan == llvm::SpecialCaseList::NotFound)
     return false;
-  unsigned SanLine = SSCL->inSectionBlame(Mask, "src", FileName, "sanitize");
-  // If we have two cases such as `src:a.cpp=sanitize` and `src:a.cpp`, the
-  // current entry override the previous entry.
-  return !SanLine || NoSanLine > SanLine;
+  auto San = SSCL->inSectionBlame(Mask, "src", FileName, "sanitize");
+  return San == llvm::SpecialCaseList::NotFound || NoSan > San;
----------------
qinkunbao wrote:

Yeah, return NoSan > San; is enough

https://github.com/llvm/llvm-project/pull/141640


More information about the cfe-commits mailing list