(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.dg/
cpp1y/
constexpr-complex1.C
// PR c++/88174
// { dg-do compile { target c++14 } }

constexpr bool
foo (double x, double y, double z, double w)
{
  __complex__ double a = 0;
  __real__ a = x;
  __imag__ a = y;
#if __cpp_constexpr >= 201907L
  __complex__ double b;
  __real__ b = z;
#else
  __complex__ double b = z;
#endif
  __imag__ b = w;
  a += b;
  a -= b;
  a *= b;
  a /= b;
  return __real__ a == x && __imag__ a == y;
}

static_assert (foo (1.0, 2.0, 3.0, 4.0), "");