[clang-tools-extra] r342388 - [Clang-Tidy: modernize] Fix for modernize-redundant-void-arg: complains about variable cast to void

IdrissRio via cfe-commits cfe-commits at lists.llvm.org
Mon Sep 17 06:18:07 PDT 2018


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 <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 <mailto: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 <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 <mailto: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 <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 <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 <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 <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 <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 <mailto:cfe-commits at lists.llvm.org>
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits <http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org <mailto: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/28dd815f/attachment-0001.html>


More information about the cfe-commits mailing list