aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/cpp1z/fold6.C
blob: df290335b14387adf6dd9f6d667af8943e82664e (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
// Test that we reject a fold-expression with an LHS that is not a
// cast-expression.

// { dg-do compile { target c++17 } }

int i;

template <int... Is>
void f()
{
  (i ? i : Is + ...);		// { dg-error "" }
  (i + Is + ...);		// { dg-error "" }
  (i - Is + ...);		// { dg-error "" }
  (i * Is + ...);		// { dg-error "" }
  (i / Is + ...);		// { dg-error "" }
  (i % Is + ...);		// { dg-error "" }
  (i ^ Is + ...);		// { dg-error "" }
  (i | Is + ...);		// { dg-error "" }
  (i & Is + ...);		// { dg-error "" }
  (i << Is + ...);		// { dg-error "" }
  (i >> Is + ...);		// { dg-error "" }
  (i = Is + ...);		// { dg-error "" }
  (i += Is + ...);		// { dg-error "" }
  (i -= Is + ...);		// { dg-error "" }
  (i *= Is + ...);		// { dg-error "" }
  (i /= Is + ...);		// { dg-error "" }
  (i %= Is + ...);		// { dg-error "" }
  (i ^= Is + ...);		// { dg-error "" }
  (i |= Is + ...);		// { dg-error "" }
  (i &= Is + ...);		// { dg-error "" }
  (i <<= Is + ...);		// { dg-error "" }
  (i >>= Is + ...);		// { dg-error "" }
  (i == Is + ...);		// { dg-error "" }
  (i != Is + ...);		// { dg-error "" }
  (i < Is + ...);		// { dg-error "" }
  (i > Is + ...);		// { dg-error "" }
  (i <= Is + ...);		// { dg-error "" }
  (i >= Is + ...);		// { dg-error "" }
  (i && Is + ...);		// { dg-error "" }
  (i || Is + ...);		// { dg-error "" }
  (i , Is + ...);		// { dg-error "" }
}