aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2001-01-31 03:53:32 +0000
committerAlexandre Oliva <aoliva@gcc.gnu.org>2001-01-31 03:53:32 +0000
commit5d0e648684ed1f9d4d24bf1ba2b98a78e183256a (patch)
tree6194cf5ca2bbd33136b86d19b8e4c0d25768bf78 /gcc
parentb2321b269c12e01be5fd2aa288994b0cac30b720 (diff)
downloadgcc-5d0e648684ed1f9d4d24bf1ba2b98a78e183256a.zip
gcc-5d0e648684ed1f9d4d24bf1ba2b98a78e183256a.tar.gz
gcc-5d0e648684ed1f9d4d24bf1ba2b98a78e183256a.tar.bz2
libgcc2.h (Wtype_MAX, Wtype_MIN): Define.
* libgcc2.h (Wtype_MAX, Wtype_MIN): Define. * libgcc2.c (__fixunssfSI, __fixunsdfSI, __fixunsxfSI): Use Wtype_MIN instead of LONG_MIN. From-SVN: r39365
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/libgcc2.c16
-rw-r--r--gcc/libgcc2.h5
3 files changed, 18 insertions, 9 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index fdb9097..0dfe8d6 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/libgcc2.c b/gcc/libgcc2.c
index 03636eb..34b4ccc 100644
--- a/gcc/libgcc2.c
+++ b/gcc/libgcc2.c
@@ -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
diff --git a/gcc/libgcc2.h b/gcc/libgcc2.h
index c31a146..7a26e33 100644
--- a/gcc/libgcc2.h
+++ b/gcc/libgcc2.h
@@ -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)