[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