brintos

brintos / llvm-project-archived public Read only

0
0
Text · 7.5 KiB · 8ae0d70 Raw
188 lines · cpp
1// RUN: %check_clang_tidy %s readability-named-parameter %t2// RUN: %check_clang_tidy -check-suffix=PLAIN-NAMES %s readability-named-parameter %t -- \3// RUN:   -config="{CheckOptions: [{key: readability-named-parameter.InsertPlainNamesInForwardDecls, value: true}]}"4 5void Method(char *) { /* */ }6// CHECK-MESSAGES: :[[@LINE-1]]:19: warning: all parameters should be named in a function7// CHECK-FIXES: void Method(char * /*unused*/) { /* */ }8// CHECK-MESSAGES-PLAIN-NAMES: :[[@LINE-3]]:19: warning: all parameters should be named in a function9// CHECK-FIXES-PLAIN-NAMES: void Method(char * /*unused*/) { /* */ }10void Method2(char *) {}11// CHECK-MESSAGES: :[[@LINE-1]]:20: warning: all parameters should be named in a function12// CHECK-FIXES: void Method2(char * /*unused*/) {}13// CHECK-MESSAGES-PLAIN-NAMES: :[[@LINE-3]]:20: warning: all parameters should be named in a function14// CHECK-FIXES-PLAIN-NAMES: void Method2(char * /*unused*/) {}15void Method3(char *, void *) {}16// CHECK-MESSAGES: :[[@LINE-1]]:20: warning: all parameters should be named in a function17// CHECK-FIXES: void Method3(char * /*unused*/, void * /*unused*/) {}18// CHECK-MESSAGES-PLAIN-NAMES: :[[@LINE-3]]:20: warning: all parameters should be named in a function19// CHECK-FIXES-PLAIN-NAMES: void Method3(char * /*unused*/, void * /*unused*/) {}20void Method4(char *, int /*unused*/) {}21// CHECK-MESSAGES: :[[@LINE-1]]:20: warning: all parameters should be named in a function22// CHECK-FIXES: void Method4(char * /*unused*/, int /*unused*/) {}23// CHECK-MESSAGES-PLAIN-NAMES: :[[@LINE-3]]:20: warning: all parameters should be named in a function24// CHECK-FIXES-PLAIN-NAMES: void Method4(char * /*unused*/, int /*unused*/) {}25void operator delete[](void *) throw() {}26// CHECK-MESSAGES: :[[@LINE-1]]:30: warning: all parameters should be named in a function27// CHECK-FIXES: void operator delete[](void * /*unused*/) throw() {}28// CHECK-MESSAGES-PLAIN-NAMES: :[[@LINE-3]]:30: warning: all parameters should be named in a function29// CHECK-FIXES-PLAIN-NAMES: void operator delete[](void * /*unused*/) throw() {}30int Method5(int) { return 0; }31// CHECK-MESSAGES: :[[@LINE-1]]:16: warning: all parameters should be named in a function32// CHECK-FIXES: int Method5(int /*unused*/) { return 0; }33// CHECK-MESSAGES-PLAIN-NAMES: :[[@LINE-3]]:16: warning: all parameters should be named in a function34// CHECK-FIXES-PLAIN-NAMES: int Method5(int /*unused*/) { return 0; }35void Method6(void (*)(void *)) {}36// CHECK-MESSAGES: :[[@LINE-1]]:21: warning: all parameters should be named in a function37// CHECK-FIXES: void Method6(void (* /*unused*/)(void *)) {}38// CHECK-MESSAGES-PLAIN-NAMES: :[[@LINE-3]]:21: warning: all parameters should be named in a function39// CHECK-FIXES-PLAIN-NAMES: void Method6(void (* /*unused*/)(void *)) {}40template <typename T> void Method7(T) {}41// CHECK-MESSAGES: :[[@LINE-1]]:37: warning: all parameters should be named in a function42// CHECK-FIXES: template <typename T> void Method7(T /*unused*/) {}43// CHECK-MESSAGES-PLAIN-NAMES: :[[@LINE-3]]:37: warning: all parameters should be named in a function44// CHECK-FIXES-PLAIN-NAMES: template <typename T> void Method7(T /*unused*/) {}45 46// Don't warn in macros.47#define M void MethodM(int) {}48M49 50void operator delete(void *x) throw() {}51void Method7(char * /*x*/) {}52void Method8(char *x) {}53typedef void (*TypeM)(int x);54void operator delete[](void *x) throw();55void operator delete[](void * /*x*/) throw();56 57struct X {58  void operator++(int) {}59  void operator--(int) {}60 61  X(X&) = delete;62  X &operator=(X&) = default;63 64  const int &i;65};66 67void (*Func1)(void *);68void Func2(void (*func)(void *)) {}69template <void Func(void *)> void Func3() {}70 71template <typename T>72struct Y {73  void foo(T) {}74// CHECK-MESSAGES: :[[@LINE-1]]:13: warning: all parameters should be named in a function75// CHECK-FIXES: void foo(T /*unused*/) {}76// CHECK-MESSAGES-PLAIN-NAMES: :[[@LINE-3]]:13: warning: all parameters should be named in a function77// CHECK-FIXES-PLAIN-NAMES: void foo(T /*unused*/) {}78};79 80Y<int> y;81Y<float> z;82 83struct Base {84  virtual void foo(bool notThisOne);85  virtual void foo(int argname);86};87 88struct Derived : public Base {89  void foo(int);90// CHECK-MESSAGES: :[[@LINE-1]]:15: warning: all parameters should be named in a function91// CHECK-FIXES: void foo(int /*argname*/);92// CHECK-MESSAGES-PLAIN-NAMES: :[[@LINE-3]]:15: warning: all parameters should be named in a function93// CHECK-FIXES-PLAIN-NAMES: void foo(int argname);94};95 96void FDef(int);97// CHECK-MESSAGES: :[[@LINE-1]]:14: warning: all parameters should be named in a function98// CHECK-FIXES: void FDef(int /*n*/);99// CHECK-MESSAGES-PLAIN-NAMES: :[[@LINE-3]]:14: warning: all parameters should be named in a function100// CHECK-FIXES-PLAIN-NAMES: void FDef(int n);101void FDef(int n) {}102 103void FDef2(int, int);104// CHECK-MESSAGES: :[[@LINE-1]]:15: warning: all parameters should be named in a function105// CHECK-FIXES: void FDef2(int /*n*/, int /*unused*/);106// CHECK-MESSAGES-PLAIN-NAMES: :[[@LINE-3]]:15: warning: all parameters should be named in a function107// CHECK-FIXES-PLAIN-NAMES: void FDef2(int n, int /*unused*/);108void FDef2(int n, int) {}109// CHECK-MESSAGES: :[[@LINE-1]]:22: warning: all parameters should be named in a function110// CHECK-FIXES: void FDef2(int n, int /*unused*/) {}111// CHECK-MESSAGES-PLAIN-NAMES: :[[@LINE-3]]:22: warning: all parameters should be named in a function112// CHECK-FIXES-PLAIN-NAMES: void FDef2(int n, int /*unused*/) {}113 114void FNoDef(int);115 116class Z {};117Z the_z;118 119Z &operator++(Z&) { return the_z; }120// CHECK-MESSAGES: :[[@LINE-1]]:17: warning: all parameters should be named in a function121// CHECK-FIXES: Z &operator++(Z& /*unused*/) { return the_z; }122// CHECK-MESSAGES-PLAIN-NAMES: :[[@LINE-3]]:17: warning: all parameters should be named in a function123// CHECK-FIXES-PLAIN-NAMES: Z &operator++(Z& /*unused*/) { return the_z; }124 125Z &operator++(Z&, int) { return the_z; }126// CHECK-MESSAGES: :[[@LINE-1]]:17: warning: all parameters should be named in a function127// CHECK-FIXES: Z &operator++(Z& /*unused*/, int) { return the_z; }128// CHECK-MESSAGES-PLAIN-NAMES: :[[@LINE-3]]:17: warning: all parameters should be named in a function129// CHECK-FIXES-PLAIN-NAMES: Z &operator++(Z& /*unused*/, int) { return the_z; }130 131Z &operator--(Z&) { return the_z; }132// CHECK-MESSAGES: :[[@LINE-1]]:17: warning: all parameters should be named in a function133// CHECK-FIXES: Z &operator--(Z& /*unused*/) { return the_z; }134// CHECK-MESSAGES-PLAIN-NAMES: :[[@LINE-3]]:17: warning: all parameters should be named in a function135// CHECK-FIXES-PLAIN-NAMES: Z &operator--(Z& /*unused*/) { return the_z; }136 137Z &operator--(Z&, int) { return the_z; }138// CHECK-MESSAGES: :[[@LINE-1]]:17: warning: all parameters should be named in a function139// CHECK-FIXES: Z &operator--(Z& /*unused*/, int) { return the_z; }140// CHECK-MESSAGES-PLAIN-NAMES: :[[@LINE-3]]:17: warning: all parameters should be named in a function141// CHECK-FIXES-PLAIN-NAMES: Z &operator--(Z& /*unused*/, int) { return the_z; }142 143namespace testing {144namespace internal {145class IgnoredValue {146 public:147  template <typename T>148  IgnoredValue(const T& /* ignored */) {}149};150}151typedef internal::IgnoredValue Unused;152}153 154using ::testing::Unused;155 156void MockFunction(Unused, int q, Unused) {157  ++q;158  ++q;159  ++q;160}161 162namespace std {163typedef decltype(nullptr) nullptr_t;164}165 166void f(std::nullptr_t) {}167 168typedef void (F)(int);169F f;170void f(int x) {}171 172namespace issue_63056173{174  struct S {175    S(const S&);176    S(S&&);177 178    S& operator=(const S&);179    S& operator=(S&&);180  };181 182  S::S(const S&) = default;183  S::S(S&&) = default;184 185  S& S::operator=(const S&) = default;186  S& S::operator=(S&&) = default;187} // namespace issue_63056188