[PATCH] D51381: [clang-tidy] fix check_clang_tidy to properly mix CHECK-NOTES and CHECK-MESSAGES
Jonas Toth via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Aug 30 00:46:57 PDT 2018
JonasToth added a comment.
Yes, you are write.
I would ensure in the script that `CHECK-MESSAGES XOR CHECK-NOTES` is
used, to avoid the mistake i made. I can do it in this diff as well.
Am 29.08.2018 um 20:29 schrieb Roman Lebedev via Phabricator:
> lebedev.ri added a comment.
>
> In https://reviews.llvm.org/D51381#1217047, @JonasToth wrote:
>
>> @lebedev.ri lets do it in the the other patch, to not split discussions.
>
> Let's do it here instead, since that differential requires some changes to this script.
>
> In https://reviews.llvm.org/D51381#1217047, @JonasToth wrote:
>
>> But what do you mean by `You would still have to duplicate the check-lines for error: though.`?
>
> In it's current state, `CHECK-MESSAGES` implies `-implicit-check-not={{warning|error}}`,
> and `CHECK-NOTES` will imply `-implicit-check-not={{note|error}}`.
> I.e. they both imply `-implicit-check-not=error`.
> So **if** the check produces any `error:` output, **and** you want to use **both** the `CHECK-NOTES` and `CHECK-MESSAGES`,
> you need to write the check-line for every `error: ` with both the `CHECK-NOTES` and `CHECK-MESSAGES` prefixes.
> This seems sub-optimal.
>
> In https://reviews.llvm.org/D48714#1217044, @JonasToth wrote:
>
>> In https://reviews.llvm.org/D48714#1216989, @lebedev.ri wrote:
>>
>>> In https://reviews.llvm.org/D48714#1216537, @JonasToth wrote:
>>>
>>>> I had to revert the `CHECK-NOTES` change that @lebedev.ri introduced with his revision. It fails the test, i think there is an inconsistency or so in the check-clang-tidy script. I will try to figure out whats the issue.
>>>
>>> So what was the issue? Do you get the same results if you undo the https://reviews.llvm.org/D51381 and `s/CHECK-MESSAGES/CHECK-NOTES/`?
>>
>> You are right that replacing all of it with `CHECK-NOTES` works as well.
>>
>> `FileCheck` is run twice if you have `FIXMES` as well. Having another run for the notes is consistent with how it worked before.
>> If we go for the catch-all-with-one approach it might be a good idea to ensure that only one of `CHECK-MESSAGES` or `CHECK-NOTES` is present in the file and adjust the check_clang_tidy.py script a little.
>
> I don't have a //strong// preference, but if that works i would **prefer** to go that route, since that is what the initial intended semantics of the `CHECK-NOTES`.
> **If** that works for you?
>
> Repository:
>
> rCTE Clang Tools Extra
>
> https://reviews.llvm.org/D51381
Repository:
rCTE Clang Tools Extra
https://reviews.llvm.org/D51381
More information about the cfe-commits
mailing list