[Bug libfortran/26712] gfortran on mac intel runtime floating point exception when printing

schnetter at aei dot mpg dot de gcc-bugzilla@gcc.gnu.org
Sat Apr 1 17:21:00 GMT 2006



------- Comment #13 from schnetter at aei dot mpg dot de  2006-04-01 17:21 -------
Regarding a generic mechanism for both ppc and i386 on Darwin:

I looked at the header files in /usr/include on my Darwin 8.5.2 system, which
contain the architecture specific files for both ppc and i386.  While the ppc
headers have a file fp_regs.h, there is no such file for i386.  I don't think
that Darwin supports a generic architecture-independent mechanism for FPU
control.

The gfortran library contains explicit machine instructions in its file
fpu-387.h, which seem to be used on all i386 architectures that don't have a
glibc.  How many architectures are that?  It seems to me as if this file is
broken for SSE (after this patch, it remains broken on non-Darwin
architectures):

The variable cw_sse has first its low 16 bits set to zero.  Then some bits are
set to one.  Then the same bits are set to one depending on front-end flags. 
This is pointless.  The code also uses explicit numbers to indicate the bits
although perfectly nice named constants exist.

It seems to me that the whole #else branch of the #if __APPLE__ statement
should be removed, together with the #if statement itself.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26712



More information about the Gcc-bugs mailing list