diff options
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/libgcc2.c | 16 | ||||
-rw-r--r-- | gcc/libgcc2.h | 5 |
3 files changed, 18 insertions, 9 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fdb90978611..0dfe8d657f3 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 03636ebc16a..34b4cccc52f 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 c31a1462598..7a26e33ea0b 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) |