* roottypes.cs: Rename from tree.cs.
[mono.git] / mono / utils / strtod.c
index 621f448fd95bf0d127f091329a5e787ecb4ca355..19af9abad61a3c2dcb5fc1517742e332f54c57d8 100644 (file)
@@ -11,6 +11,8 @@
  *
  * Taken from the FreeBSD distribution.
  */
+#include <glib.h>
+
 #include "strtod.h"
 
 /*-
@@ -141,20 +143,13 @@ static char sccsid[] = "@(#)strtod.c      8.1 (Berkeley) 6/4/93";
 #if defined(i386) || defined(mips) && defined(MIPSEL) || defined (__arm__)
 
 #define IEEE_8087
-#define Long long
 
 #elif defined(__x86_64__)
 
 #define IEEE_8087
-#define Long int
 
 #elif defined(__ia64)
 
-# ifndef __LP64__
-#  define Long long
-# else
-#  define Long int
-# endif
 # ifdef __hpux
 #  define IEEE_MC68k
 # else
@@ -164,18 +159,13 @@ static char sccsid[] = "@(#)strtod.c      8.1 (Berkeley) 6/4/93";
 #elif defined(__hppa)
 
 # define IEEE_MC68k
-# ifndef __LP64__
-#  define Long long
-# else
-#  define Long int
-# endif
 
 #else
 #define IEEE_MC68k
-#define Long long
 #endif
 
-#define ULong unsigned Long
+#define Long gint32
+#define ULong guint32
 
 #ifdef DEBUG
 #include "stdio.h"
@@ -278,8 +268,8 @@ Exactly one of IEEE_8087, IEEE_MC68k, VAX, or IBM should be defined.
  * #define Storeinc(a,b,c) (*a++ = b << 16 | c & 0xffff)
  */
 #if defined(IEEE_8087) + defined(VAX)
-#define Storeinc(a,b,c) (((unsigned short *)a)[1] = (unsigned short)b, \
-((unsigned short *)a)[0] = (unsigned short)c, a++)
+#define Storeinc(a,b,c) do { (((unsigned short *)a)[1] = (unsigned short)b, \
+((unsigned short *)a)[0] = (unsigned short)c); a ++; } while (0)
 #else
 #define Storeinc(a,b,c) (((unsigned short *)a)[0] = (unsigned short)b, \
 ((unsigned short *)a)[1] = (unsigned short)c, a++)
@@ -668,6 +658,7 @@ mult
        xb = b->x;
        xbe = xb + wb;
        xc0 = c->x;
+
 #ifdef Pack_32
        for (; xb < xbe; xb++, xc0++) {
                if ( (y = *xb & 0xffff) ) {