[clang-tools-extra] r342388 - [Clang-Tidy: modernize] Fix for modernize-redundant-void-arg: complains about variable cast to void
Alexander Kornienko via cfe-commits
cfe-commits at lists.llvm.org
Mon Sep 17 06:17:33 PDT 2018
Ah, now I see your fix in r342389. Thanks!
On Mon, Sep 17, 2018 at 3:15 PM Alexander Kornienko <alexfh at google.com>
wrote:
> (If there's no clear idea of how to fix this, reverting until the fix is
> found is usually the best strategy.)
>
> On Mon, Sep 17, 2018 at 3:14 PM Alexander Kornienko <alexfh at google.com>
> wrote:
>
>> It looks like this commit breaks buildbots (e.g.
>> http://lab.llvm.org:8011/builders/clang-cmake-armv8-quick/builds/6711).
>> Could you take a look?
>>
>> On Mon, Sep 17, 2018 at 2:33 PM Idriss Riouak via cfe-commits <
>> cfe-commits at lists.llvm.org> wrote:
>>
>>> Author: idrissrio
>>> Date: Mon Sep 17 05:29:29 2018
>>> New Revision: 342388
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=342388&view=rev
>>> Log:
>>> [Clang-Tidy: modernize] Fix for modernize-redundant-void-arg: complains
>>> about variable cast to void
>>>
>>> Summary:
>>> Hello, i would like to suggest a fix for one of the checks in
>>> clang-tidy.The bug was reported in
>>> https://bugs.llvm.org/show_bug.cgi?id=32575 where you can find more
>>> information.
>>>
>>> For example:
>>> ```
>>> template <typename T0>
>>> struct S {
>>> template <typename T>
>>> void g() const {
>>> int a;
>>> (void)a;
>>> }
>>> };
>>>
>>> void f() {
>>> S<int>().g<int>();
>>> }
>>> ```
>>>
>>>
>>> this piece of code should not trigger any warning by the check
>>> modernize-redundant-void-arg but when we execute the following command
>>>
>>>
>>> ```
>>> clang_tidy -checks=-*,modernize-redundant-void-arg test.cpp -- -std=c++11
>>> ```
>>>
>>> we obtain the following warning:
>>>
>>> /Users/eco419/Desktop/clang-tidy.project/void-redundand_2/test.cpp:6:6:
>>> warning: redundant void argument list in function declaration
>>> [modernize-redundant-void-arg]
>>> (void)a;
>>> ^~~~
>>>
>>> Reviewers: aaron.ballman, hokein, alexfh, JonasToth
>>>
>>> Reviewed By: aaron.ballman, JonasToth
>>>
>>> Subscribers: JonasToth, lebedev.ri, cfe-commits
>>>
>>> Tags: #clang-tools-extra
>>>
>>> Differential Revision: https://reviews.llvm.org/D52135
>>>
>>> Modified:
>>>
>>> clang-tools-extra/trunk/clang-tidy/modernize/RedundantVoidArgCheck.cpp
>>>
>>> clang-tools-extra/trunk/test/clang-tidy/modernize-redundant-void-arg.cpp
>>>
>>> Modified:
>>> clang-tools-extra/trunk/clang-tidy/modernize/RedundantVoidArgCheck.cpp
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-tidy/modernize/RedundantVoidArgCheck.cpp?rev=342388&r1=342387&r2=342388&view=diff
>>>
>>> ==============================================================================
>>> ---
>>> clang-tools-extra/trunk/clang-tidy/modernize/RedundantVoidArgCheck.cpp
>>> (original)
>>> +++
>>> clang-tools-extra/trunk/clang-tidy/modernize/RedundantVoidArgCheck.cpp Mon
>>> Sep 17 05:29:29 2018
>>> @@ -49,7 +49,7 @@ void RedundantVoidArgCheck::registerMatc
>>> return;
>>>
>>> Finder->addMatcher(functionDecl(parameterCountIs(0),
>>> unless(isImplicit()),
>>> - unless(isExternC()))
>>> + unless(isInstantiated()),
>>> unless(isExternC()))
>>> .bind(FunctionId),
>>> this);
>>> Finder->addMatcher(typedefNameDecl().bind(TypedefId), this);
>>>
>>> Modified:
>>> clang-tools-extra/trunk/test/clang-tidy/modernize-redundant-void-arg.cpp
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-tidy/modernize-redundant-void-arg.cpp?rev=342388&r1=342387&r2=342388&view=diff
>>>
>>> ==============================================================================
>>> ---
>>> clang-tools-extra/trunk/test/clang-tidy/modernize-redundant-void-arg.cpp
>>> (original)
>>> +++
>>> clang-tools-extra/trunk/test/clang-tidy/modernize-redundant-void-arg.cpp
>>> Mon Sep 17 05:29:29 2018
>>> @@ -488,3 +488,64 @@ void lambda_expression_with_macro_test()
>>> // CHECK-MESSAGES: :[[@LINE-1]]:6: warning: redundant void argument
>>> list in lambda expression [modernize-redundant-void-arg]
>>> // CHECK-FIXES: []() BODY;
>>> }
>>> +
>>> +struct S_1 {
>>> + void g_1(void) const {
>>> + // CHECK-MESSAGES: :[[@LINE-1]]:11: warning: redundant void
>>> argument list in function definition [modernize-redundant-void-arg]
>>> + // CHECK-FIXES: void g_1() const {
>>> + int a;
>>> + (void)a;
>>> + }
>>> +
>>> + void g_2() const {
>>> + int a;
>>> + (void)a;
>>> + }
>>> +};
>>> +
>>> +template <typename T0>
>>> +struct S_2 {
>>> + void g_1(void) const {
>>> + // CHECK-MESSAGES: :[[@LINE-1]]:11: warning: redundant void
>>> argument list in function definition [modernize-redundant-void-arg]
>>> + // CHECK-FIXES: void g_1() const {
>>> + int a;
>>> + (void)a;
>>> + }
>>> +
>>> + void g_2() const {
>>> + int a;
>>> + (void)a;
>>> + }
>>> +};
>>> +
>>> +template <typename T0>
>>> +struct S_3 {
>>> + template <typename T1>
>>> + void g_1(void) const {
>>> + // CHECK-MESSAGES: :[[@LINE-1]]:11: warning: redundant void
>>> argument list in function definition [modernize-redundant-void-arg]
>>> + // CHECK-FIXES: void g_1() const {
>>> + int a;
>>> + (void)a;
>>> + }
>>> + template <typename T2>
>>> + void g_2() const {
>>> + int a;
>>> + (void)a;
>>> + }
>>> +};
>>> +
>>> +template <typename T1>
>>> +void g_3(void) {
>>> + // CHECK-MESSAGES: :[[@LINE-1]]:10: warning: redundant void argument
>>> list in function definition [modernize-redundant-void-arg]
>>> + // CHECK-FIXES: void g_3(){
>>> + int a;
>>> + (void)a;
>>> +}
>>> +
>>> +//Template instantiation
>>> +void f_testTemplate() {
>>> + S_1();
>>> + S_2<int>();
>>> + S_3<int>();
>>> + g_3<int>();
>>> +}
>>>
>>>
>>> _______________________________________________
>>> 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/20180917/3a2fa561/attachment.html>
More information about the cfe-commits
mailing list