[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:14:41 PDT 2018


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/da28205f/attachment.html>


More information about the cfe-commits mailing list