JonasToth added a comment.
> In https://reviews.llvm.org/D52135#1236220, @JonasToth wrote:
>
>> Why is the cast to void diagnosed anyway? It is not an argument nor is it
>> used in a function context. Do you have an explaination for that?
>
>
> Yes, this because when we find a function and the process it we are trying to
> get the beginning and the end of the function in terms of source location. In
> particular we have
>
> if (Function->isThisDeclarationADefinition()){
> ...
> }else{
> removeVoidArgumentTokens(Result, Function->getSourceRange(),
> "function declaration");
> }
>
>
> In this case **Function** is nor a declaration or definition so we fall in
> the else case and so we are going to take the entire **sourceRange** of
> **Function**.
> The function **RedundantVoidArgCheck::removeVoidArgumentTokens** iterate
> over this **sourceRange** and if an occurrence of '**(void)'** is found this
> is replaced with** '()**'. In the our case **removeVoidArgumentTokens** will
> find this occurrence in (void)a.
Thank you for the clarification!
================
Comment at: test/clang-tidy/modernize-redundant-void-arg.cpp:510
+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]
----------------
Nit. The formatting at the brace is a bit off.
Could you please add a testcase for a templated function as well?
```
template <typename T>
void bla(void) {
}
```
I think every possibility is then covered.
Repository:
rCTE Clang Tools Extra
https://reviews.llvm.org/D52135
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits