1// RUN: %clang_cc1 -fsyntax-only -Wunused-variable -fblocks -verify %s
2
3struct s0 {
4	unsigned int	i;
5};
6
7int proto(int a, int b);
8
9void f0(void) {
10	int	a __attribute__((unused)),
11		b; // expected-warning{{unused}}
12	return;
13}
14
15void f1(void) {
16	int	i;
17	(void)sizeof(i);
18	return;
19}
20
21// PR5933
22int 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
27int 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