https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102683
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- That likely means the target lacks an integer mode covering the mode of the type to be initialized ... :/ I see the target only defines TFmode so eventually it has CTFmode but not OImode. We have struct C { __complex__ long double c; }; void foo() { C x = {2+2i}; int n = 1; C y = (n==1) ? x : (C){3+3i}; if (__imag__ y.c != 2) abort (); } (not sure why we get .DEFERRED_INIT here)