MaskRay wrote:

> > > Probably would be good to introduce the `-v1` version and require it 
> > > first, then eventually change the default - so people don't get a silent 
> > > behavior change? Even the existing users only using `*` and `.` need to 
> > > change their syntax to migrate to v2, right? They'll need to change `.*` 
> > > to `*` and `.` to `?` and if they don't, their matches will start 
> > > behaving strangely without a specific/actionable error message?
> > 
> > 
> > Since `#!special-case-list-v1` is just a comment and `v1` is the default 
> > before this change, users can actually add it to the first line today and 
> > the behavior won't change until Clang 19.
> 
> Right, but they wouldn't know to do that in advance of the behavior change, 
> would they? If they do nothing/don't read any release notes, they'd get a 
> silent behavior change, I think/if I'm understanding this correctly?

It will be silent but the main idea is that almost all special case lists are 
unaffected by this transition
https://discourse.llvm.org/t/use-glob-instead-of-regex-for-specialcaselists/71666
 and my first comment are to demonstrate this.

I have checked CodeSearch (and ignorelist.txt uses in projects such as 
blue/v8/chromiumos) and actually haven't found any non-glob metacharacters uses 
(`(` `{` etc).

This is understandable: `src:` and `fun:` are the most common entries. `fun:` 
is almost always an exact function name or a glob with a leading/trailing `*`.
Many people tend to think `src:` uses globs and do not escape `.`. We have 
envisioned `src:a.(c|cpp)` (though I haven't seen such a use case) which can be 
satisfied by the glob brace expansion `src:a.{c,cpp}`.

Going forward, glob is the only supported format and we do not want users to 
annotate their ignore list with `#!special-case-list-v2` or `#!glob`.
Enforcing a `#!` header comment (by issuing a warning if not seen) would likely 
cause more disruption.


https://github.com/llvm/llvm-project/pull/74809
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to