about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--sysdeps/ia64/fpu/fraiseexcpt.c5
2 files changed, 6 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 6c3e082a01..4a6d5a26f9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2007-05-09  Jakub Jelinek  <jakub@redhat.com>
 
+	* sysdeps/ia64/fpu/fraiseexcpt.c (feraiseexcept): Don't raise overflow
+	exception in addition to inexact when asked to raise only FE_INEXACT.
+
 	[BZ #3427]
 	* sysdeps/s390/fpu/feholdexcpt.c (feholdexcept): Don't clear exceptions
 	in *envp.
diff --git a/sysdeps/ia64/fpu/fraiseexcpt.c b/sysdeps/ia64/fpu/fraiseexcpt.c
index 3086ded812..12b29ee5a6 100644
--- a/sysdeps/ia64/fpu/fraiseexcpt.c
+++ b/sysdeps/ia64/fpu/fraiseexcpt.c
@@ -1,5 +1,6 @@
 /* Raise given exceptions.
-   Copyright (C) 1997, 1998, 2000, 2001, 2002 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1998, 2000, 2001, 2002, 2007
+   Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Jes Sorensen <Jes.Sorensen@cern.ch>, 2000.
 
@@ -70,7 +71,7 @@ feraiseexcept (int excepts)
   if (FE_INEXACT & excepts)
     {
       dummy = DBL_MAX;
-      __asm__ __volatile__ ("fadd.d.s0 %0=%1,f1" : "=f" (dummy) : "0" (dummy));
+      __asm__ __volatile__ ("fsub.d.s0 %0=%1,f1" : "=f" (dummy) : "0" (dummy));
     }
 
   /* Success.  */