summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/warn/Wparentheses-14.C
blob: 67bd43ec5cc1e84d50f9bc5d67f214c10f5eceb8 (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
// { dg-do compile }
// { dg-options "-Wparentheses" }

// Template version of Wparentheses-2.C.

int foo (int);

int a, b, c;
bool d;

template<class T>
void
bar (T)
{
  if (a += b)
    foo (0);
  if (a -= a)
    foo (1);
  if (b *= c)
    foo (2);
  else
    foo (3);
  if (b /= b)
    foo (4);
  else
    foo (5);
  while (c %= b)
    foo (6);
  while (c <<= c)
    foo (7);
  do foo (8); while (a >>= b);
  do foo (9); while (a &= a);
  for (;c ^= b;)
    foo (10);
  for (;c |= c;)
    foo (11);
  d = a += b;
  foo (12);
  d = a -= a;
  foo (13);
}

template void bar<int> (int);