1/* { dg-do compile } */
2/* { dg-options "-Wunused -W" } */
3
4int
5f1 (unsigned int x)
6{
7  int c = ({ union { unsigned int a; int b; } u; u.a = x; u.b; });
8  return c;
9}
10
11void
12f2 (void)
13{
14  struct S { int i; } a;
15  int b[1];
16  a.i = 1;
17  a.i;				/* { dg-warning "no effect" } */
18  b[0] = 1;
19  b[0];				/* { dg-warning "no effect" } */
20}
21
22void
23f3 (void)
24{
25  struct S { int i; } a;	/* { dg-warning "set but not used" } */
26  int b[1];			/* { dg-warning "set but not used" } */
27  a.i = 1;
28  b[0] = 1;
29}
30