[PATCH] Allow regexes in all verifier directives: drop the expected-(error|warning|note)-re, variants
Alp Toker
alp at nuanti.com
Thu Dec 12 11:38:02 PST 2013
On 12/12/2013 19:22, Hans Wennborg wrote:
> On Thu, Dec 12, 2013 at 9:57 AM, Alp Toker <alp at nuanti.com> wrote:
>> On 12/12/2013 17:28, Hans Wennborg wrote:
>>> They're not that common
>>
>> 56 match-anything .* expressions have been landed to ToT and it hasn't even
>> been a full day yet. This is clearly not a great plan.
>>
>> Match anything means just that -- match and silently ignore any regressions
>> introduced in type handling or whatever appears in its place.
> I think that's orthogonal to the question of what syntax to use for the regex.
>
> Maybe we did over-relax the tests and should check more explicitly for
> an optional calling convention attribute. Or maybe suppress them in
> the TypePrinter. I believe there's a different thread for that
> discussion though :)
>
>> The {{}} syntax just makes it harder to grep and find these cases and have a
>> clear idea of which tests are fuzzy matches now.
> Grepping for "expect.*\.\*" works for finding these ones.
That's how I found them :-)
Reading through SVN history shows that over years any syntax that isn't
shored up tends to break.
>
> Requiring -re on directives with regexes makes them easier to grep
> for, but I don't know how important that is.
Looking at the changes today, I'm starting to think anything to make
regex expressions stand out is a good idea.
Yesterday I thought it made sense, but now it's starting to look like
using a non-precise match in a test suite was an unusual measure and was
right to have it stick out as a special case.
Diagnostics are meant to be as portable and consistent as possible so if
they're fuzzy or vary it might be better to fix that or split the test
into platform-specific runs IMO.
So for me, it was non-obvious what today's commits were trying to match
as a calling convention. None of the debug flags in lit helped show what
.* was meant to match.
For the longest time I was thinking of the MS syntax whereas it turned
out to be the GNU attribute syntax for calling conventions -- if that
was obscure today for someone who more or less works with this stuff
daily, it's going to be lost information to the much larger community of
distributors and developers 5 years down the line.
Alp.
>
> - Hans
--
http://www.nuanti.com
the browser experts
More information about the cfe-commits
mailing list