blob: df290335b14387adf6dd9f6d667af8943e82664e [file] [log] [blame]
// 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 "" }
}