Ah, now I see your fix in r342389. Thanks! On Mon, Sep 17, 2018 at 3:15 PM Alexander Kornienko <ale...@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 <ale...@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@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