[clang-tools-extra] r262615 - [clang-tidy] Do not emit warnings from misc-suspicious-semicolon when the compilation fails.

Alexander Kornienko via cfe-commits cfe-commits at lists.llvm.org
Thu Mar 3 09:33:42 PST 2016


Thank you!

On Thu, Mar 3, 2016 at 2:48 PM, Gábor Horváth <xazax.hun at gmail.com> wrote:

> Thank you for the suggestions. This should be addressed in r262618.
>
> On 3 March 2016 at 14:42, Alexander Kornienko <alexfh at google.com> wrote:
>
>>
>>
>> On Thu, Mar 3, 2016 at 2:08 PM, Gabor Horvath via cfe-commits <
>> cfe-commits at lists.llvm.org> wrote:
>>
>>> Author: xazax
>>> Date: Thu Mar  3 07:08:11 2016
>>> New Revision: 262615
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=262615&view=rev
>>> Log:
>>> [clang-tidy] Do not emit warnings from misc-suspicious-semicolon when
>>> the compilation fails.
>>>
>>> Added:
>>>
>>> clang-tools-extra/trunk/test/clang-tidy/misc-suspicious-semicolon-fail.cpp
>>> Modified:
>>>     clang-tools-extra/trunk/clang-tidy/misc/SuspiciousSemicolonCheck.cpp
>>>
>>> clang-tools-extra/trunk/docs/clang-tidy/checks/misc-suspicious-semicolon.rst
>>>
>>> Modified:
>>> clang-tools-extra/trunk/clang-tidy/misc/SuspiciousSemicolonCheck.cpp
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-tidy/misc/SuspiciousSemicolonCheck.cpp?rev=262615&r1=262614&r2=262615&view=diff
>>>
>>> ==============================================================================
>>> --- clang-tools-extra/trunk/clang-tidy/misc/SuspiciousSemicolonCheck.cpp
>>> (original)
>>> +++ clang-tools-extra/trunk/clang-tidy/misc/SuspiciousSemicolonCheck.cpp
>>> Thu Mar  3 07:08:11 2016
>>> @@ -7,8 +7,8 @@
>>>  //
>>>
>>>  //===----------------------------------------------------------------------===//
>>>
>>> -#include "../utils/LexerUtils.h"
>>>  #include "SuspiciousSemicolonCheck.h"
>>> +#include "../utils/LexerUtils.h"
>>>  #include "clang/AST/ASTContext.h"
>>>  #include "clang/ASTMatchers/ASTMatchFinder.h"
>>>
>>> @@ -30,6 +30,9 @@ void SuspiciousSemicolonCheck::registerM
>>>  }
>>>
>>>  void SuspiciousSemicolonCheck::check(const MatchFinder::MatchResult
>>> &Result) {
>>> +  if (Result.Context->getDiagnostics().hasErrorOccurred())
>>> +    return;
>>> +
>>>    const auto *Semicolon = Result.Nodes.getNodeAs<NullStmt>("semi");
>>>    SourceLocation LocStart = Semicolon->getLocStart();
>>>
>>>
>>> Modified:
>>> clang-tools-extra/trunk/docs/clang-tidy/checks/misc-suspicious-semicolon.rst
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/docs/clang-tidy/checks/misc-suspicious-semicolon.rst?rev=262615&r1=262614&r2=262615&view=diff
>>>
>>> ==============================================================================
>>> ---
>>> clang-tools-extra/trunk/docs/clang-tidy/checks/misc-suspicious-semicolon.rst
>>> (original)
>>> +++
>>> clang-tools-extra/trunk/docs/clang-tidy/checks/misc-suspicious-semicolon.rst
>>> Thu Mar  3 07:08:11 2016
>>> @@ -11,7 +11,7 @@ intentional.
>>>
>>>    .. code-block:: c++
>>>
>>> -    if(x < y);
>>> +    if (x < y);
>>>      {
>>>        x++;
>>>      }
>>> @@ -22,7 +22,7 @@ the first line, and `x` will be incremen
>>>
>>>    .. code-block:: c++
>>>
>>> -    while((line = readLine(file)) != NULL);
>>> +    while ((line = readLine(file)) != NULL);
>>>        processLine(line);
>>>
>>>  As a result of this code, `processLine()` will only be called once,
>>> when the
>>> @@ -32,7 +32,7 @@ the code indicates the intention of the
>>>
>>>    .. code-block:: c++
>>>
>>> -    if(x >= y);
>>> +    if (x >= y);
>>>      x -= y;
>>>
>>>  While the indentation does not imply any nesting, there is simply no
>>> valid
>>> @@ -45,7 +45,7 @@ line. For example:
>>>
>>>    .. code-block:: c++
>>>
>>> -    while(readWhitespace());
>>> +    while (readWhitespace());
>>>        Token t = readNextToken();
>>>
>>>  Here the second line is indented in a way that suggests that it is
>>> meant to be
>>> @@ -56,14 +56,14 @@ Either remove the indentation from the s
>>>
>>>    .. code-block:: c++
>>>
>>> -    while(readWhitespace());
>>> +    while (readWhitespace());
>>>      Token t = readNextToken();
>>>
>>>  ... or move the semicolon from the end of the first line to a new line:
>>>
>>>    .. code-block:: c++
>>>
>>> -    while(readWhitespace())
>>> +    while (readWhitespace())
>>>        ;
>>>
>>>        Token t = readNextToken();
>>>
>>> Added:
>>> clang-tools-extra/trunk/test/clang-tidy/misc-suspicious-semicolon-fail.cpp
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-tidy/misc-suspicious-semicolon-fail.cpp?rev=262615&view=auto
>>>
>>> ==============================================================================
>>> ---
>>> clang-tools-extra/trunk/test/clang-tidy/misc-suspicious-semicolon-fail.cpp
>>> (added)
>>> +++
>>> clang-tools-extra/trunk/test/clang-tidy/misc-suspicious-semicolon-fail.cpp
>>> Thu Mar  3 07:08:11 2016
>>> @@ -0,0 +1,13 @@
>>> +// RUN: clang-tidy %s -checks="-*,misc-suspicious-semicolon" -- 2>&1 >
>>> %t
>>> +// RUN: FileCheck --input-file=%t %s
>>>
>>
>> Please pipe the output to FileCheck instead of redirecting it to a
>> temporary file.
>>
>>
>>> +
>>> +// Note: This test verifies that, the checker does not emit any warning
>>> for
>>> +//       files that do not compile.
>>> +
>>> +bool g();
>>> +
>>> +void f() {
>>> +  if (g());
>>> +  // CHECK-NOT: :[[@LINE-1]]:11: warning: potentially unintended
>>> semicolon [misc-suspicious-semicolon]
>>>
>>
>> Please make the check line more broad for more tolerance to bugs and
>> changes to the check. Just match the core of the message or even just the
>> check name.
>>
>>
>>> +  int a
>>> +}
>>>
>>>
>>> _______________________________________________
>>> cfe-commits mailing list
>>> cfe-commits at lists.llvm.org
>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160303/e11d4ec7/attachment-0001.html>


More information about the cfe-commits mailing list