blob: 5015d6c31d4fdad3c05994021b531f5be2fadd36 [file] [log] [blame]
Benjamin Kramer14d42d92014-07-15 16:47:09 +00001// RUN: $(dirname %s)/check_clang_tidy_fix.sh %s google-readability-function %t
2// REQUIRES: shell
3
4void Method(char *) { /* */ }
5// CHECK-MESSAGES: :[[@LINE-1]]:19: warning: all parameters should be named in a function
6// CHECK-FIXES: void Method(char * /*unused*/) { /* */ }
7void Method2(char *);
8// CHECK-MESSAGES: :[[@LINE-1]]:20: warning: all parameters should be named in a function
9// CHECK-FIXES: void Method2(char * /*unused*/);
10void Method3(char *, void *);
11// CHECK-MESSAGES: :[[@LINE-1]]:20: warning: all parameters should be named in a function
12// CHECK-FIXES: void Method3(char * /*unused*/, void * /*unused*/);
13void Method4(char *, int /*unused*/);
14// CHECK-MESSAGES: :[[@LINE-1]]:20: warning: all parameters should be named in a function
15// CHECK-FIXES: void Method4(char * /*unused*/, int /*unused*/);
16void operator delete[](void *) throw();
17// CHECK-MESSAGES: :[[@LINE-1]]:30: warning: all parameters should be named in a function
18// CHECK-FIXES: void operator delete[](void * /*unused*/) throw();
19int Method5(int);
20// CHECK-MESSAGES: :[[@LINE-1]]:16: warning: all parameters should be named in a function
21// CHECK-FIXES: int Method5(int /*unused*/);
22void Method6(void (*)(void *)) {}
23// CHECK-MESSAGES: :[[@LINE-1]]:21: warning: all parameters should be named in a function
24// CHECK-FIXES: void Method6(void (* /*unused*/)(void *)) {}
25template <typename T> void Method7(T);
26// CHECK-MESSAGES: :[[@LINE-1]]:37: warning: all parameters should be named in a function
27// CHECK-FIXES: template <typename T> void Method7(T /*unused*/);
28
29// Don't warn in macros.
30#define M void MethodM(int);
31M
32
33void operator delete(void *x) throw();
34void Method7(char * /*x*/) {}
35void Method8(char *x);
36typedef void (*TypeM)(int x);
37void operator delete[](void *x) throw();
38void operator delete[](void * /*x*/) throw();
39
40struct X {
41 X operator++(int);
42// CHECK-MESSAGES: :[[@LINE-1]]:19: warning: all parameters should be named in a function
43// CHECK-FIXES: X operator++(int /*unused*/);
44 X operator--(int /*unused*/);
45
46 const int &i;
47};
48
49void (*Func1)(void *);
50void Func2(void (*func)(void *)) {}
51template <void Func(void *)> void Func3();
52
53template <typename T>
54struct Y {
55 void foo(T);
56// CHECK-MESSAGES: :[[@LINE-1]]:13: warning: all parameters should be named in a function
57// CHECK-FIXES: void foo(T /*unused*/);
58};
59
60Y<int> y;
61Y<float> z;
62
63struct Base {
64 virtual void foo(bool notThisOne);
65 virtual void foo(int argname);
66};
67
68struct Derived : public Base {
69 void foo(int);
70// CHECK-MESSAGES: :[[@LINE-1]]:15: warning: all parameters should be named in a function
71// CHECK-FIXES: void foo(int /*argname*/);
72};