================ @@ -44,14 +44,19 @@ bool NoSanitizeList::containsFunction(SanitizerMask Mask, bool NoSanitizeList::containsFile(SanitizerMask Mask, StringRef FileName, StringRef Category) const { - unsigned NoSanLine = SSCL->inSectionBlame(Mask, "src", FileName, Category); + auto [NoSanFileIdx, NoSanLine] = + SSCL->inSectionBlame(Mask, "src", FileName, Category); if (NoSanLine == 0) return false; - unsigned SanLine = SSCL->inSectionBlame(Mask, "src", FileName, "sanitize"); + auto [SanFileIdx, 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. if (SanLine > 0) - return NoSanLine > SanLine; + // std::pair uses lexicographic comparison. It will compare the file index + // first and then comapre the line number. + return std::make_pair(NoSanFileIdx, NoSanLine) > ---------------- vitalybuka wrote:
``` auto NoSan = SSCL->inSectionBlame(Mask, "src", FileName, Category); if (NoSan == NotFound) return false; auto San = SSCL->inSectionBlame(Mask, "src", FileName, "sanitize"); return San == NotFound || NoSan > San; ``` https://github.com/llvm/llvm-project/pull/141640 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits