// RUN: %clang_cc1 -fblocks -fsyntax-only -Wunused-but-set-parameter -verify %s | |
int f0(int x, | |
int y, // expected-warning{{parameter 'y' set but not used}} | |
int z __attribute__((unused))) { | |
y = 0; | |
return x; | |
} | |
void f1(void) { | |
(void)^(int x, | |
int y, // expected-warning{{parameter 'y' set but not used}} | |
int z __attribute__((unused))) { | |
y = 0; | |
return x; | |
}; | |
} | |
struct S { | |
int i; | |
}; | |
// In C++, don't warn for a struct (following gcc). | |
void f3(struct S s) { | |
struct S t; | |
s = t; | |
} | |
// Also don't warn for a reference. | |
void f4(int &x) { | |
x = 0; | |
} | |
// Make sure this doesn't warn. | |
struct A { | |
int i; | |
A(int j) : i(j) {} | |
}; |