https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81931
--- Comment #4 from Aldy Hernandez <aldyh at gcc dot gnu.org> --- On gcc110.fsffrance.org, I see gcc.dg/atomic/c11-atomic-exec-1.c failing with an execution error with a simple stage1 compiler. Perhaps this is a different problem, but it can be distilled to: int main (void) { static volatile _Atomic (_Complex float) var = (_Complex float) 1; if (var != (_Complex float) 1) __builtin_abort (); } With the wide-int.h patch on trunk, the .ccp1 dump looks broken, as it's unconditionally calling the abort: main () { static atomic volatile complex float var = __complex__ (1.0e+0, 0.0); complex float D.2549; long unsigned int _1; <bb 2> [0.00%] [count: INV]: _1 = __atomic_load_8 (&var, 5); _9 = __complex__ (0.0, 0.0); __builtin_abort (); } Interestingly, I cannot reproduce this with a cross build from x86-64, only natively.