[all-commits] [llvm/llvm-project] 91cfa5: Reland "Make sanitizer special case list slash-agn...

Vitaly Buka via All-commits all-commits at lists.llvm.org
Sat Jun 27 15:32:23 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 91cfa5786716e4908af9a36104ac425728d5aa83
      https://github.com/llvm/llvm-project/commit/91cfa5786716e4908af9a36104ac425728d5aa83
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2026-06-27 (Sat, 27 Jun 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/docs/SanitizerSpecialCaseList.rst
    M clang/unittests/Basic/DiagnosticTest.cpp
    M llvm/lib/Support/SpecialCaseList.cpp
    M llvm/unittests/Support/SpecialCaseListTest.cpp

  Log Message:
  -----------
  Reland "Make sanitizer special case list slash-agnostic" (#206250)

This changes the glob matcher for the sanitizer special case format so
that it treats `/` as matching both forward and back slashes.

When dealing with cross-compiles or build systems that don't normalize
slashes, it's possible to run into file paths with inconsistent
slashiness, e.g. `../..\v8/include\v8-internal.h` when [building
chromium](https://g-issues.chromium.org/issues/425364464).

We can match this using the current syntax using this ugly kludge:
`src:*{/,\\}v8{/,\\}*`. However, since the format is explicitly for
listing file paths, it makes sense to treat `/` as denoting a path
separator rather than a literal forward slash. This allows us to write
the much more natural form `src:*/v8/*` and have it work on any
platform.

This is technically a behavior change, but it seems very unlikely to
come up in practice. It will only make a difference if a user has a
system where they want to catch `a/b` but not `a\b`. Even in the worst
case, they can still regain the previous behavior by escaping the slash
character in their pattern: `src:a\/b`.

Note: this is not default behavior yet. To activate use
`#!special-case-list-v4` in the first line of the special case list
file.

Reverts llvm/llvm-project#205399

Relands https://github.com/llvm/llvm-project/pull/149886

Reason for the revert was incorrect
https://github.com/llvm/llvm-project/pull/202854#issuecomment-4813462549

Authored-by:  Devon Loehr <DKLoehr at users.noreply.github.com>
Co-authored-by: Vitaly Buka <vitalybuka at google.com>



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list