From 0cf3a1b4a5ebad749c1c8af0291a315fa26e6ae2 Mon Sep 17 00:00:00 2001 From: falk Date: Wed, 19 May 2004 23:43:20 +0000 Subject: PR other/15526 * libgcc2.c (__mulvsi3): Fix overflow test. * gcc.dg/ftrapv-1.c: New test case. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@82042 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/libgcc2.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'gcc/libgcc2.c') diff --git a/gcc/libgcc2.c b/gcc/libgcc2.c index 34171ad9002..8a953ea8b76 100644 --- a/gcc/libgcc2.c +++ b/gcc/libgcc2.c @@ -130,9 +130,7 @@ __mulvsi3 (Wtype a, Wtype b) { const DWtype w = (DWtype) a * (DWtype) b; - if (((a >= 0) == (b >= 0)) - ? (UDWtype) w > (UDWtype) (((DWtype) 1 << (WORD_SIZE - 1)) - 1) - : (UDWtype) w < (UDWtype) ((DWtype) -1 << (WORD_SIZE - 1))) + if ((Wtype) (w >> WORD_SIZE) != (Wtype) w >> (WORD_SIZE - 1)) abort (); return w; -- cgit v1.2.1