building glibc-2.3.3 crashes gcc 3. http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15068 $ cat s_fmax.i double __fmax (double x, double y) { return (__builtin_isgreaterequal(x, y) || (sizeof (y) == sizeof (float) ? __isnanf (y) : __isnan (y))) ? x : y; } crashes an arm-linux compiler when invoked as: $ ./cc1 -O2 ~/s_fmax.i __fmax