IdrissRio updated this revision to Diff 165741. IdrissRio added a comment. Thank you @JonasToth. As you suggest I have added the test for the templatic function.
Repository: rCTE Clang Tools Extra https://reviews.llvm.org/D52135 Files: clang-tidy/modernize/RedundantVoidArgCheck.cpp test/clang-tidy/modernize-redundant-void-arg.cpp Index: test/clang-tidy/modernize-redundant-void-arg.cpp =================================================================== --- test/clang-tidy/modernize-redundant-void-arg.cpp +++ test/clang-tidy/modernize-redundant-void-arg.cpp @@ -488,3 +488,67 @@ // 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>(); +} Index: clang-tidy/modernize/RedundantVoidArgCheck.cpp =================================================================== --- clang-tidy/modernize/RedundantVoidArgCheck.cpp +++ clang-tidy/modernize/RedundantVoidArgCheck.cpp @@ -49,7 +49,7 @@ return; Finder->addMatcher(functionDecl(parameterCountIs(0), unless(isImplicit()), - unless(isExternC())) + unless(isInstantiated()), unless(isExternC())) .bind(FunctionId), this); Finder->addMatcher(typedefNameDecl().bind(TypedefId), this);
Index: test/clang-tidy/modernize-redundant-void-arg.cpp =================================================================== --- test/clang-tidy/modernize-redundant-void-arg.cpp +++ test/clang-tidy/modernize-redundant-void-arg.cpp @@ -488,3 +488,67 @@ // 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>(); +} Index: clang-tidy/modernize/RedundantVoidArgCheck.cpp =================================================================== --- clang-tidy/modernize/RedundantVoidArgCheck.cpp +++ clang-tidy/modernize/RedundantVoidArgCheck.cpp @@ -49,7 +49,7 @@ return; Finder->addMatcher(functionDecl(parameterCountIs(0), unless(isImplicit()), - unless(isExternC())) + unless(isInstantiated()), unless(isExternC())) .bind(FunctionId), this); Finder->addMatcher(typedefNameDecl().bind(TypedefId), this);
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits