|
From: | Trevor Daniels |
Subject: | Re: Infinite loop with GCC 4.3 |
Date: | Mon, 26 May 2008 23:18:42 +0100 |
Han-Wen Nienhuys wrote Monday, May 26, 2008 2:49 PM
2008/5/26 Joe Neeman <address@hidden>:The position of the gcc folks is that this is Intel's fault and so they will not fix it. This leaves us with a few options: 1) Change Real to be a long double instead of a double (on x86 only?) 2) Compile with -msse on x86 3) Find some way of forcing a truncation (as suggested in comment #88 of the above link) 4) Anything else?comment #60 sounds promising too. We'd have to have a small bit of system dependent code, but it is localized, so I can live with it.
Comment #60 suggests setting the x87 control word to x027f (rather than the default x037f) which instructs the FPU to perform its calculations in double precision rather than double-extended precision. This seems both the easiest and safest way of avoidingthe problem, as double-extended precision is hardly likely to be required for LilyPond's calculations. This suggestion should work as long as the FPU is not re-initialised again, since this would reset the control word back to the default value. I don't know when this happens, but it might be at the start of a compilation unit, which means
the control word would need to be set in every compilation unit. Trevor
-- Han-Wen Nienhuys - address@hidden - http://www.xs4all.nl/~hanwen _______________________________________________ lilypond-devel mailing list address@hidden http://lists.gnu.org/mailman/listinfo/lilypond-devel
[Prev in Thread] | Current Thread | [Next in Thread] |