https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68371
--- Comment #1 from joseph at codesourcery dot com <joseph at codesourcery dot com> --- Not a bug. GCC does not support imaginary types. Use __builtin_complex (GCC 4.7 or later) or the CMPLX macros implemented based on it, or assign to __real__ and __imag__ of a temporary.