1 | // RUN: %clang_cc1 -fsyntax-only -Wunused-variable -fblocks -verify %s |
2 | |
3 | struct s0 { |
4 | unsigned int i; |
5 | }; |
6 | |
7 | int proto(int a, int b); |
8 | |
9 | void f0(void) { |
10 | int a __attribute__((unused)), |
11 | b; // expected-warning{{unused}} |
12 | return; |
13 | } |
14 | |
15 | void f1(void) { |
16 | int i; |
17 | (void)sizeof(i); |
18 | return; |
19 | } |
20 | |
21 | // PR5933 |
22 | int f2() { |
23 | int X = 4; // Shouldn't have a bogus 'unused variable X' warning. |
24 | return Y + X; // expected-error {{use of undeclared identifier 'Y'}} |
25 | } |
26 | |
27 | int f3() { |
28 | int X1 = 4; |
29 | (void)(Y1 + X1); // expected-error {{use of undeclared identifier 'Y1'}} |
30 | (void)(^() { int X = 4; }); // expected-warning{{unused}} |
31 | (void)(^() { int X = 4; return Y + X; }); // expected-error {{use of undeclared identifier 'Y'}} |
32 | } |
33 | |