possible bug in egcs-2.93.02 19990117
Mark Davies
mdavies@dial.pipex.com
Sat Jan 23 12:49:00 GMT 1999
///////////////////////////////////////////////////////////////////////////
//
// Source File: fragment taken from glibc-2.0.111 sources
//
----------------------------------------------------------------------
__complex__ float
__casinf (__complex__ float x)
{
__complex__ float res;
if (__real__ x == 0.0)
{
res = x;
}
// else if (__isinff (__real__ x) || __isinff (__imag__ x))
else if (1)
{
// __imag__ res = __copysignf ((__extension__ ((union {
unsigned char __c[4]; float __f; } ) { __c: { 0, 0, 0x80, 0x7f }
}).__f) , __imag__ x);
__imag__ res = __copysignf ((((union { unsigned char
__c[4]; float __f; } ) { __c: { 0, 0, 0x80, 0x7f } }).__f) , __imag__
x);
}
return 0;
}
extern __typeof (__casinf) casinf __attribute__ ((weak, alias
("__casinf")));
///////////////////////////////////////////////////////////////////////////
//
// Compiler
// Reading specs from
/usr/i586-pc-linux-gnulibc2/lib/gcc-lib/i586-pc-linux-gnu/egcs-2.93.02/specs
// gcc version egcs-2.93.02 19990117 (gcc2 ss-980609 experimental)
///////////////////////////////////////////////////////////////////////////
//
// Compile args
// gcc err.c -c -O -o err.o
// Works if you remove the -O flag
///////////////////////////////////////////////////////////////////////////
//
// Output
// killcc.c: In function `__casinf':
// killcc.c:17: warning: implicit declaration of function `__copysignf'
// killcc.c:21: fixed or forbidden register 0 (ax) was spilled for class
AREG.
// killcc.c:21: This may be due to a compiler bug or to impossible asm
// killcc.c:21: statements or clauses.
// killcc.c:21: This is the instruction:
// (insn 17 15 18 (parallel[
// (set (cc0)
// (compare:CCFPEQ (reg:DF 9 %st(1))
// (reg:DF 8 %st(0))))
// (clobber (scratch:HI))
// ] ) 32 {*cmpsf_cc_1-1} (insn_list 12 (insn_list 15 (nil)))
// (expr_list:REG_DEAD (reg:DF 9 %st(1))
// (expr_list:REG_DEAD (reg:DF 8 %st(0))
// (expr_list:REG_UNUSED (scratch:HI)
// (nil)))))
// /usr2/src/egcs-19990117/gcc/toplev.c:1397: Internal compiler error in
function fatal_insn
// Please submit a full bug report to `egcs-bugs@cygnus.com'.
// See <URL: http://egcs.cygnus.com/faq.html#bugreport > for details.
// Regards
// Mark Davies, mdavies@dial.pipex.com
More information about the Gcc-bugs
mailing list