libgcc2.h (Wtype_MAX, Wtype_MIN): Define.
authorAlexandre Oliva <aoliva@redhat.com>
Wed, 31 Jan 2001 03:53:32 +0000 (03:53 +0000)
committerAlexandre Oliva <aoliva@gcc.gnu.org>
Wed, 31 Jan 2001 03:53:32 +0000 (03:53 +0000)
* libgcc2.h (Wtype_MAX, Wtype_MIN): Define.
* libgcc2.c (__fixunssfSI, __fixunsdfSI, __fixunsxfSI): Use
Wtype_MIN instead of LONG_MIN.

From-SVN: r39365

gcc/ChangeLog
gcc/libgcc2.c
gcc/libgcc2.h

index fdb90978611095ed21a442424ad71f953238fe8a..0dfe8d657f334ff8955983f4a76bd16cb45e4d74 100644 (file)
@@ -1,3 +1,9 @@
+2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
+
+       * libgcc2.h (Wtype_MAX, Wtype_MIN): Define.
+       * libgcc2.c (__fixunssfSI, __fixunsdfSI, __fixunsxfSI): Use
+       Wtype_MIN instead of LONG_MIN.
+
 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
 
        * fixinc/fixincl.tpl: Add 2001 to copyright.  Change name of
index 03636ebc16adde8d55312bc39f65f4bee87e2a6b..34b4cccc52f56b4f752f38317790ccbd6dfcdad9 100644 (file)
@@ -1,7 +1,7 @@
 /* More subroutines needed by GCC output code on some machines.  */
 /* Compile this one with gcc.  */
-/* Copyright (C) 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
-   2001 Free Software Foundation, Inc.
+/* Copyright (C) 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+   2000, 2001  Free Software Foundation, Inc.
 
 This file is part of GNU CC.
 
@@ -1145,8 +1145,8 @@ __floatdisf (DWtype u)
 UWtype
 __fixunsxfSI (XFtype a)
 {
-  if (a >= - (DFtype) LONG_MIN)
-    return (Wtype) (a + LONG_MIN) - LONG_MIN;
+  if (a >= - (DFtype) Wtype_MIN)
+    return (Wtype) (a + Wtype_MIN) - Wtype_MIN;
   return (Wtype) a;
 }
 #endif
@@ -1167,8 +1167,8 @@ __fixunsxfSI (XFtype a)
 UWtype
 __fixunsdfSI (DFtype a)
 {
-  if (a >= - (DFtype) LONG_MIN)
-    return (Wtype) (a + LONG_MIN) - LONG_MIN;
+  if (a >= - (DFtype) Wtype_MIN)
+    return (Wtype) (a + Wtype_MIN) - Wtype_MIN;
   return (Wtype) a;
 }
 #endif
@@ -1189,8 +1189,8 @@ __fixunsdfSI (DFtype a)
 UWtype
 __fixunssfSI (SFtype a)
 {
-  if (a >= - (SFtype) LONG_MIN)
-    return (Wtype) (a + LONG_MIN) - LONG_MIN;
+  if (a >= - (SFtype) Wtype_MIN)
+    return (Wtype) (a + Wtype_MIN) - Wtype_MIN;
   return (Wtype) a;
 }
 #endif
index c31a1462598da97c89bc73b6c2874dab94be52a0..7a26e33ea0b2375276f474c95bd60c2a7d2ff790 100644 (file)
@@ -1,5 +1,5 @@
 /* Header file for libgcc2.c.  */
-/* Copyright (C) 2000
+/* Copyright (C) 2000, 2001
    Free Software Foundation, Inc.
 
 This file is part of GNU CC.
@@ -199,6 +199,9 @@ typedef int word_type __attribute__ ((mode (__word__)));
 #define __NDW(a,b)     __ ## a ## hi ## b
 #endif
 
+#define Wtype_MAX ((Wtype)(((UWtype)1 << (W_TYPE_SIZE - 1)) - 1))
+#define Wtype_MIN (- Wtype_MAX - 1)
+
 #define __muldi3       __NDW(mul,3)
 #define __divdi3       __NDW(div,3)
 #define __udivdi3      __NDW(udiv,3)