[all-commits] [llvm/llvm-project] 725fb3: [SpecialCaseList] Add backward compatible dot-slas...

Vitaly Buka via All-commits all-commits at lists.llvm.org
Thu Jun 11 00:04:59 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 725fb3845d2df3267983590e2228569126468c96
      https://github.com/llvm/llvm-project/commit/725fb3845d2df3267983590e2228569126468c96
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2026-06-11 (Thu, 11 Jun 2026)

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

  Log Message:
  -----------
  [SpecialCaseList] Add backward compatible dot-slash handling (#162511)

This PR is preparation for:
* https://github.com/llvm/llvm-project/pull/167283

The new behavior is controlled by the `Version` field in the special
case list file.

- Version 1 and 2: Path is matched as-is, regardless of presence of
"./".
- Version 3, 5 and higher: Paths with leading dot-slash are
canonicalized
  to paths without dot-slash before matching. This means that a rule
  like `src=./foo` will never match, and `src=foo` will match both
`foo` and `./foo`. (Version 3 never became default but has this
behavior).
- Version 4: Transitionary version. Paths are matched both ways
(canonicalized and non-canonicalized) to maintain backward
compatibility.
If a match only works with the old behavior (non-canonicalized), a
warning
  is emitted.

This change allows for a gradual transition to the new behavior, while
maintaining backward compatibility with existing special case list
files.



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