blob: 8bb24cb277563d4f3aabd713366e7ddf87b46863 [file] [log] [blame]
// 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), "");