// 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'}} }