1 // RUN: %clang_cc1 -fblocks -fsyntax-only -Wunused-but-set-parameter -verify %s 2 3 int f0(int x, 4 int y, // expected-warning{{parameter 'y' set but not used}} 5 int z __attribute__((unused))) { 6 y = 0; 7 return x; 8 } 9 10 void f1(void) { 11 (void)^(int x, 12 int y, // expected-warning{{parameter 'y' set but not used}} 13 int z __attribute__((unused))) { 14 y = 0; 15 return x; 16 }; 17 } 18 19 struct S { 20 int i; 21 }; 22 23 // In C++, don't warn for a struct (following gcc). 24 void f3(struct S s) { 25 struct S t; 26 s = t; 27 } 28 29 // Also don't warn for a reference. 30 void f4(int &x) { 31 x = 0; 32 } 33 34 // Make sure this doesn't warn. 35 struct A { 36 int i; 37 A(int j) : i(j) {} 38 }; 39