* device/include/float.h: added __INFINITY
[fw/sdcc] / device / lib / _fsmul.c
index 553234fba0e2cfff76b14ef3f76372036341f320..1f36d603d97830dabfec4971afcb8d40ea97b06f 100644 (file)
 
 #ifdef FLOAT_ASM_MCS51
 
-// float __fsmul (float a, float b) reentrant
-static void dummy(void) _naked
+// float __fsmul (float a, float b) __reentrant
+static void dummy(void) __naked
 {
-       _asm
+       __asm
        .globl  ___fsmul
 ___fsmul:
        // extract the two inputs, placing them into:
@@ -198,12 +198,11 @@ ___fsmul:
 
 00010$:
        ljmp    fs_round_and_return
-       _endasm;
+       __endasm;
 }
 
 #else
 
-
 /*
 ** libgcc support for software floating point.
 ** Copyright (C) 1991 by Pipeline Associates, Inc.  All rights reserved.
@@ -222,7 +221,6 @@ ___fsmul:
 
 /* (c)2000/2001: hacked a little by johan.knol@iduna.nl for sdcc */
 
-
 union float_long
   {
     float f;
@@ -273,7 +271,7 @@ float __fsmul (float a1, float a2) {
 
   /* pack up and go home */
   if (exp >= 0x100)
-    fl1.l = (sign ? SIGNBIT : 0) | 0x7F800000;
+    fl1.l = (sign ? SIGNBIT : 0) | __INFINITY;
   else if (exp < 0)
     fl1.l = 0;
   else
@@ -282,4 +280,3 @@ float __fsmul (float a1, float a2) {
 }
 
 #endif
-