https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105435
--- Comment #2 from David Binderman <dcb314 at hotmail dot com> --- A reduction of the original code produces this: void arm_cpu_builtins() { if (0 ? 0 ? 4 : 2 : 0) ; } The best parse of this I can think of is: void arm_cpu_builtins() { if (0 ? (0 ? 4 : 2) : 0) ; }