[all-commits] [llvm/llvm-project] 0a8264: [SpecialCaseList] Add backward compatible dot-slas...
Vitaly Buka via All-commits
all-commits at lists.llvm.org
Wed Jun 10 16:41:27 PDT 2026
Branch: refs/heads/users/vitalybuka/spr/wip-dotslash-backward-compartible
Home: https://github.com/llvm/llvm-project
Commit: 0a8264630913e36fa9a319001e267bb38026f71b
https://github.com/llvm/llvm-project/commit/0a8264630913e36fa9a319001e267bb38026f71b
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-06-10 (Wed, 10 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
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.
Reviewers: fmayer (Florian Mayer)
Pull Request: https://github.com/llvm/llvm-project/pull/162511
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