/* { dg-do compile } */ /* { dg-options "-Wunused" } */ struct S { int e; }; int f1 (void) { int a; int b; int c; int d; S s; a = 1; b = 2; c = 3; d = 4; s.e = 5; __typeof (c) e; // { dg-warning "set but not used" } __decltype (d) f; // { dg-warning "set but not used" } __decltype (s.e) g; // { dg-warning "set but not used" } e = 1; f = 1; g = 1; return sizeof (a) + __alignof__ (b); } template int f2 (void) { int a; int b; int c; int d; a = 1; b = 2; c = 3; d = 4; __typeof (c) e; // { dg-warning "set but not used" } __decltype (d) f; // { dg-warning "set but not used" } e = 1; f = 1; return sizeof (a) + __alignof__ (b); } void test (void) { (void) f2<0> (); }