aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/c-c++-common/Wunused-var-22.c
blob: 84f57c59d05cb3c587218861f16a33fc9b41597b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
/* PR c/44677 */
/* { dg-do compile } */
/* { dg-options "-O2 -Wunused-but-set-variable=2" } */

void baz (int);

void
foo (void)
{
  int a = 0;		/* { dg-warning "variable 'a' set but not used" } */
  a = 1;
  int b = 0;		/* { dg-warning "variable 'b' set but not used" } */
  ++b;
  int c = 0;		/* { dg-warning "variable 'c' set but not used" } */
  c++;
  int d = 0;		/* { dg-warning "variable 'd' set but not used" } */
  --d;
  int e = 0;		/* { dg-warning "variable 'e' set but not used" } */
  e--;
  int f = 0;
  f += 2;
  int g = 0;
  g |= 2;
  int h = 0;
  h -= 2;
  int i = 0;
  i &= 2;
  int j = 0;
  j ^= 2;
  int k = 0;
  k *= 2;
  int l = 0;
  l %= 2;
  int m = 0;		/* { dg-warning "variable 'm' set but not used" } */
  for (int n = 4; n < 10; n++, m++)
    baz (n);
}

int
bar (void)
{
  int a = 0;
  int b = ++a;
  int c = 0;
  int d = --c;
  int e = 0;
  int f = e--;
  int g = 0;
  int h = g++;
  int i = 0;
  int j;
  j = i += 42;
  int k = 0;
  int l;
  l = k *= 4;
  int m = 0;
  int n;
  n = m |= 2;
  return b + d + f + h + j + l + n;
}