// 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), "");