[cfe-dev] Bug in .clang-tidy parsing?

Alexander Kornienko via cfe-dev cfe-dev at lists.llvm.org
Wed Aug 9 09:02:15 PDT 2017


I've committed a workaround (2) in r310491.

On Wed, Aug 9, 2017 at 5:28 PM, Alexander Kornienko <alexfh at google.com>
wrote:

> The issue seems to be that the LLVM's YAML parser doesn't implement
> multiline literal folding, which results in the checks list containing line
> breaks. Clang-tidy doesn't drop newlines in the checks list (because I
> haven't recognized the limitation of our YAML parser when reviewing
> https://reviews.llvm.org/D30567), and the list of checks is
> misinterpreted.
>
> There are (at least) two solutions:
> 1. Ideally, YAML parser would benefit from the support of multiline
> literal folding.
> 2. As a quick workaround, we can trim newlines from the checks list.
>
> On Wed, Aug 9, 2017 at 2:41 PM, Manuel Klimek <klimek at google.com> wrote:
>
>> +alex
>>
>> On Tue, Aug 8, 2017 at 7:45 PM Paul Wicks via cfe-dev <
>> cfe-dev at lists.llvm.org> wrote:
>>
>>> Hi all,
>>>
>>> Not sure if this is a bug or i'm just misunderstanding how configuration
>>> for .clang-tidy is supposed to work.
>>>
>>> In my .clang-tidy I have specified the checks to be run as follows:
>>>
>>> Checks: >
>>>     -*,
>>>     cert-*,
>>>     clang-analyzer-*,
>>>     cppcoreguidelines-pro-*,
>>>     -cppcoreguidelines-pro-bounds-pointer-arithmetic,
>>>     misc-*,
>>>     modernize-*,
>>>     performance-*,
>>>
>>> What I expect when I run clang-tidy is that it will run all the checks
>>> except for cppcoreguidelines-pro-bounds-pointer-arithmetic and the llvm
>>> and readability checks. Instead, clang-tidy seems to run every check. If I
>>> change the list to just be something like this:
>>>
>>>
>>> Checks: >
>>>     -*,
>>>     cert-*,
>>>     clang-analyzer-*,
>>>
>>>
>>> Then the expected behavior occurs, only the cert and clang-analyzer
>>> checks are run. But if I add anything more, for example:
>>>
>>> Checks: >
>>>     -*,
>>>     cert-*,
>>>     clang-analyzer-*,
>>>     modernize-*,
>>>
>>>
>>> Then again, all checks are run, not just cert, clang-analyzer and
>>> modernize. Is this expected behavior?
>>>
>>> -Paul Wicks
>>> _______________________________________________
>>> cfe-dev mailing list
>>> cfe-dev at lists.llvm.org
>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20170809/dc5ad633/attachment.html>


More information about the cfe-dev mailing list