|  | // RUN: %clang_cc1 -fsyntax-only -Wunused-variable -fblocks -verify %s | 
|  |  | 
|  | struct s0 { | 
|  | unsigned int	i; | 
|  | }; | 
|  |  | 
|  | int proto(int a, int b); | 
|  |  | 
|  | void f0(void) { | 
|  | int	a __attribute__((unused)), | 
|  | b; // expected-warning{{unused}} | 
|  | return; | 
|  | } | 
|  |  | 
|  | void f1(void) { | 
|  | int	i; | 
|  | (void)sizeof(i); | 
|  | return; | 
|  | } | 
|  |  | 
|  | // PR5933 | 
|  | int f2() { | 
|  | int X = 4;  // Shouldn't have a bogus 'unused variable X' warning. | 
|  | return Y + X; // expected-error {{use of undeclared identifier 'Y'}} | 
|  | } | 
|  |  | 
|  | int f3() { | 
|  | int X1 = 4; | 
|  | (void)(Y1 + X1); // expected-error {{use of undeclared identifier 'Y1'}} | 
|  | (void)(^() { int X = 4; }); // expected-warning{{unused}} | 
|  | (void)(^() { int X = 4; return Y + X; }); // expected-error {{use of undeclared identifier 'Y'}} | 
|  | } |