[clang] Reland "[Utils] add update-verify-tests.py" (#108630)" (PR #108658)
Henrik G. Olsson via cfe-commits
cfe-commits at lists.llvm.org
Wed Sep 18 10:21:12 PDT 2024
hnrklssn wrote:
> > >
> >
> >
> > +1, it's why I stopped recommending this approach in my reviews.
>
> While I agree for the most part, there are quite a few diagnostics that are absurdly verbose (particularly ones with "did you mean to FLOOP it?"). I think partial matches are good/fine, but they need enough of the diag to not be ambiguous.
I don't necessarily oppose the use of truncated checks where it makes sense, I oppose the implicit default on the matcher's part. An `expected-note-re{{.*FLOOP.*}}` would be a reasonable explicit opt-in. A new mode like `expected-note-part{{FLOOP}}` would be even better, making the old mode behave like `expected-note-re{{^FLOOP$}}`. As an (admittedly extreme) example of footgunnery with this implicit behaviour, we had bug downstream where there were two versions of an error, something like this: `cannot use FOO in context asdf` vs `cannot use FOO in context asdf; did you mean to use BAR?`. The `; did you mean to use BAR?` version was accidentally emitted in some cases where it didn't make sense to do so, but the tests still passed because the diagnostic *did* contain `cannot use FOO in context asdf`.
https://github.com/llvm/llvm-project/pull/108658
More information about the cfe-commits
mailing list