Sorry for the late reply. It does indeed fix the problem I saw with 4.0 on FreeBSD, but I'm now seeing this with 3.4.4 20050228 too, so I think it's a regression introduced in the last 6 weeks or so. Is the same fix safe to apply to 3.4?
Yes, it should also be safe for gcc-3.4.
This problem was exposed in gcc-3.4 by this patch, which is presumably the same patch that exposed this on mainline.
2004-11-12 Richard Henderson <[EMAIL PROTECTED]>
PR 17778 * config/i386/i386.h (TARGET_96_ROUND_53_LONG_DOUBLE): New. * config/i386/freebsd.h (SUBTARGET_OVERRIDE_OPTIONS): Remove. (TARGET_96_ROUND_53_LONG_DOUBLE): New. * config/i386/i386-modes.def (XF): Use it.
My patch is needed to make this work with -E or --save-temps. Since this is a clear regression, and a relatively safe patch, I will test the patch with gcc-3.4 and then check it in if there is no problem.
--
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com