Hi compiler complained that this else was ambiguous. Later, Juan. PD. Once there, change the code to: return ieee754sp_zero(ieee754_csr.rm ==IEEE754_RD); shouldn't be better and indeed clearer? Index: arch/mips/math-emu/sp_sub.c =================================================================== RCS file: /home/cvs/linux/arch/mips/math-emu/sp_sub.c,v retrieving revision 1.4.2.1 diff -u -r1.4.2.1 sp_sub.c --- arch/mips/math-emu/sp_sub.c 5 Aug 2002 23:53:34 -0000 1.4.2.1 +++ arch/mips/math-emu/sp_sub.c 18 Dec 2002 00:49:18 -0000 @@ -167,12 +167,12 @@ xe = xe; xs = ys; } - if (xm == 0) + if (xm == 0) { if (ieee754_csr.rm == IEEE754_RD) return ieee754sp_zero(1); /* round negative inf. => sign = -1 */ else return ieee754sp_zero(0); /* other round modes => sign = 1 */ - + } /* normalize to rounding precision */ while ((xm >> (SP_MBITS + 3)) == 0) { -- In theory, practice and theory are the same, but in practice they are different -- Larry McVoy