[PATCH] D154014: [SpecialCaseList] Use Globs instead of Regex

Jordan Rupprecht via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Jun 29 11:51:36 PDT 2023


rupprecht added a comment.

In D154014#4457883 <https://reviews.llvm.org/D154014#4457883>, @MaskRay wrote:

>> This is a breaking change since some SCLs might use .* or (abc|def) which are supported regexes but not valid globs. Since we have just cut clang 16.x this is a good time to make this change.
>
> My user has some ignore lists, but there is no `^[a-z]+:.*\(` or `^[a-z]+:\.` occurrence, so this change is likely safe for us.

I think I'm looking at the same lists, and I see plenty of `.*` in the sanitizer exclusion lists. Also a few cases of `(abc|def|...)`. IIUC, those would both be broken by this -- instead of `.*` meaning "any character any number of times" (regex) it would mean "dot followed by any number of characters" (glob), right? And the `(abc|...)` would just be that literal text, not matching the individual parts?

If my understanding of that is correct, I don't think this is a good change -- there's possibly plenty of configs out there that assume this is regex, and there doesn't seem to be sufficient motivation to just break those. But I can see that globs are useful for the examples posted in the patch description. Is it possible to have some middle ground, e.g. default to regex but allow a config at the top of sanitizer lists to interpret future patterns as globs instead?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D154014/new/

https://reviews.llvm.org/D154014



More information about the cfe-commits mailing list