xref: /llvm-project/clang-tools-extra/test/clang-tidy/checkers/misc/unused-parameters-strict.cpp (revision 222dd235ffc39b3695a3c002593097bec216a8fa)
189a1d03eSRichard // RUN: %check_clang_tidy %s misc-unused-parameters %t -- \
2*222dd235SCongcong Cai // RUN:   -config="{CheckOptions: {misc-unused-parameters.StrictMode: true}}" --
389a1d03eSRichard 
489a1d03eSRichard // Warn on empty function bodies in StrictMode.
589a1d03eSRichard namespace strict_mode {
689a1d03eSRichard void f(int foo) {}
789a1d03eSRichard // CHECK-MESSAGES: :[[@LINE-1]]:12: warning: parameter 'foo' is unused [misc-unused-parameters]
889a1d03eSRichard // CHECK-FIXES: {{^}}void f(int  /*foo*/) {}{{$}}
989a1d03eSRichard class E {
1089a1d03eSRichard   int i;
1189a1d03eSRichard 
1289a1d03eSRichard public:
1389a1d03eSRichard   E(int j) {}
1489a1d03eSRichard // CHECK-MESSAGES: :[[@LINE-1]]:9: warning: parameter 'j' is unused
1589a1d03eSRichard // CHECK-FIXES: {{^}}  E(int  /*j*/) {}{{$}}
1689a1d03eSRichard };
1789a1d03eSRichard class F {
1889a1d03eSRichard   int i;
1989a1d03eSRichard 
2089a1d03eSRichard public:
2189a1d03eSRichard   F(int j) : i() {}
2289a1d03eSRichard // CHECK-MESSAGES: :[[@LINE-1]]:9: warning: parameter 'j' is unused
2389a1d03eSRichard // CHECK-FIXES: {{^}}  F(int  /*j*/) : i() {}{{$}}
2489a1d03eSRichard };
2589a1d03eSRichard 
2689a1d03eSRichard // Do not warn on naked functions.
2789a1d03eSRichard [[gnu::naked]] int nakedFunction(int a, float b, const char *c) { ; }
2889a1d03eSRichard __attribute__((naked)) void nakedFunction(int a, int b) { ; }
2989a1d03eSRichard }
30