[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
Tue Sep 18 02:33:18 PDT 2018


Nope, that's fine. See my previous email.

On Mon, Sep 17, 2018 at 3:18 PM IdrissRio <idriss.riouak at studenti.unipr.it>
wrote:

> Yes I have already make the fix commit. It was an error in the  tests.
>
>
> https://github.com/llvm-mirror/clang-tools-extra/commit/77ed1cd838a249d6134de9a6bdbe17ef46ecf946
>
>
> Now on my Mac it compile and all the tests are ok.
> Should I try anything else ?
>
> Il giorno 17 set 2018, alle ore 15:14, Alexander Kornienko via cfe-commits
> <cfe-commits at lists.llvm.org> ha scritto:
>
> 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
>>
> _______________________________________________
> 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/20180918/dc56e732/attachment-0001.html>


More information about the cfe-commits mailing list