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