<div dir="ltr">I've committed a workaround (2) in r310491.</div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Aug 9, 2017 at 5:28 PM, Alexander Kornienko <span dir="ltr"><<a href="mailto:alexfh@google.com" target="_blank">alexfh@google.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">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 <a href="https://reviews.llvm.org/D30567" target="_blank">https://reviews.<wbr>llvm.org/D30567</a>), and the list of checks is misinterpreted.<div><br></div><div>There are (at least) two solutions:</div><div>1. Ideally, YAML parser would benefit from the support of multiline literal folding.</div><div>2. As a quick workaround, we can trim newlines from the checks list.</div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Aug 9, 2017 at 2:41 PM, Manuel Klimek <span dir="ltr"><<a href="mailto:klimek@google.com" target="_blank">klimek@google.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">+alex <br><br><div class="gmail_quote"><div><div class="m_-3794779962671526007h5"><div dir="ltr">On Tue, Aug 8, 2017 at 7:45 PM Paul Wicks via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>> wrote:<br></div></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="m_-3794779962671526007h5"><div dir="ltr">Hi all,<div><br></div><div>Not sure if this is a bug or i'm just misunderstanding how configuration for .clang-tidy is supposed to work.</div><div><br></div><div>In my .clang-tidy I have specified the checks to be run as follows:</div><div><br></div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div><div><font face="monospace, monospace">Checks: > </font></div></div><div><div><font face="monospace, monospace">    -*,</font></div></div><div><div><font face="monospace, monospace">    cert-*,</font></div></div><div><div><font face="monospace, monospace">    clang-analyzer-*, </font></div></div><div><div><font face="monospace, monospace">    cppcoreguidelines-pro-*,</font></div></div><div><div><font face="monospace, monospace">    -cppcoreguidelines-pro-bounds-<wbr>pointer-arithmetic,</font></div></div><div><div><font face="monospace, monospace">    misc-*, </font></div></div><div><div><font face="monospace, monospace">    modernize-*,</font></div></div><div><div><font face="monospace, monospace">    performance-*,</font></div></div><div><br></div></blockquote><font face="arial, helvetica, sans-serif">What I expect when I run clang-tidy is that it will run all the checks except for </font><span style="font-family:monospace,monospace">cppcoreguidelines-pro-boun<wbr>ds-pointer-arithmetic </span><font face="arial, helvetica, sans-serif">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:</font><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div><font face="arial, helvetica, sans-serif"><br></font></div><div><div><div><font face="monospace, monospace">Checks: > </font></div></div></div><div><div><font face="monospace, monospace">    -*,</font></div></div><div><div><font face="monospace, monospace">    cert-*,</font></div></div><div><div><font face="monospace, monospace">    clang-analyzer-*, </font></div></div></blockquote><div style="font-family:monospace,monospace"><font face="monospace, monospace"><br></font></div><font face="arial, helvetica, sans-serif">Then the expected behavior occurs, only the cert and clang-analyzer checks are run. But if I add anything more, for example:</font><div><font face="monospace, monospace"><br></font></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div><font face="monospace, monospace"><div>Checks: > </div></font></div><div><font face="monospace, monospace"><div>    -*,</div></font></div><div><font face="monospace, monospace"><div>    cert-*,</div></font></div><div><font face="monospace, monospace"><div>    clang-analyzer-*, </div></font></div><div><font face="monospace, monospace"><div>    modernize-*,</div></font></div></blockquote><div style="font-family:monospace,monospace"><font face="monospace, monospace"><br></font></div><font face="arial, helvetica, sans-serif">Then again, all checks are run, not just cert, clang-analyzer and modernize. Is this expected behavior?</font><div><font face="arial, helvetica, sans-serif"><br></font><div><div><div><div><div class="m_-3794779962671526007m_2704825729798250646m_2191086836858725599gmail_signature">-Paul Wicks</div></div>
</div></div></div></div></div></div></div>
______________________________<wbr>_________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/cfe-dev</a><br>
</blockquote></div></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>