xref: /llvm-project/clang/test/Sema/warn-unused-parameters.c (revision 22db4824b9e03fe8c2e9217d6832b71ac23c175f)
1 // RUN: %clang_cc1 -fblocks -fsyntax-only -Wunused-parameter %s 2>&1 | FileCheck %s
2 // RUN: %clang_cc1 -fblocks -fsyntax-only -Wunused %s 2>&1 | FileCheck -check-prefix=CHECK-unused %s
3 
f0(int x,int y,int z)4 int f0(int x,
5        int y,
6        int z __attribute__((unused))) {
7   return x;
8 }
9 
f1(void)10 void f1(void) {
11   (void)^(int x,
12           int y,
13           int z __attribute__((unused))) { return x; };
14 }
15 
16 // Used when testing '-Wunused' to see that we only emit one diagnostic, and no
17 // warnings for the above cases.
achor(void)18 static void achor(void) {};
19 
20 // Do not warn on naked functions.
nakedFunction(int a,int b)21 __attribute__((naked)) static void nakedFunction(int a, int b) { }
22 
23 // CHECK: 5:12: warning: unused parameter 'y'
24 // CHECK: 12:15: warning: unused parameter 'y'
25 // CHECK-unused: 2 warnings generated
26 
27 // RUN: %clang_cc1 -fblocks -fsyntax-only -Weverything %s 2>&1 | FileCheck -check-prefix=CHECK-everything %s
28 // RUN: not %clang_cc1 -fblocks -fsyntax-only -Weverything -Werror %s 2>&1 | FileCheck -check-prefix=CHECK-everything-error %s
29 // RUN: %clang_cc1 -fblocks -fsyntax-only -Weverything -Wno-unused %s 2>&1 | FileCheck -check-prefix=CHECK-everything-no-unused %s
30 // CHECK-everything: 7 warnings generated
31 // CHECK-everything-error: 5 errors generated
32 // CHECK-everything-no-unused: 5 warnings generated
33 
34