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@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@lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits >
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits