From 6ad3493e2247e6cb3c9e086e8cb1f8b51a5f27d6 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Fri, 27 Apr 2012 13:54:09 +0000 Subject: [PATCH] Fix fenv.h fallback returns (bug 14027). --- ChangeLog | 8 ++++++++ NEWS | 2 +- math/fclrexcpt.c | 6 +++--- math/fraiseexcpt.c | 6 +++--- math/fsetexcptflg.c | 6 +++--- 5 files changed, 18 insertions(+), 10 deletions(-) diff --git a/ChangeLog b/ChangeLog index 50c27f7fda..2035e58f35 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2012-04-27 Joseph Myers + + [BZ #14027] + * math/fclrexcpt.c (__feclearexcept): Return zero if nothing needs + to be done. + * math/fraiseexcpt.c (__feraiseexcept): Likewise. + * math/fsetexcptflg.c (__fesetexceptflag): Likewise. + 2012-04-26 Joseph Myers * sysdeps/unix/i386/brk.S: Remove file. diff --git a/NEWS b/NEWS index 00620ff42c..cd523640c0 100644 --- a/NEWS +++ b/NEWS @@ -22,7 +22,7 @@ Version 2.16 13846, 13851, 13852, 13854, 13871, 13872, 13873, 13879, 13883, 13886, 13892, 13895, 13908, 13910, 13911, 13912, 13913, 13915, 13916, 13917, 13918, 13919, 13920, 13921, 13926, 13927, 13928, 13938, 13963, 13967, - 13970, 13973 + 13970, 13973, 14027 * ISO C11 support: diff --git a/math/fclrexcpt.c b/math/fclrexcpt.c index 27e9bd0c32..dcdcfbbe99 100644 --- a/math/fclrexcpt.c +++ b/math/fclrexcpt.c @@ -1,5 +1,5 @@ /* Clear given exceptions in current floating-point environment. - Copyright (C) 1997, 1999, 2000 Free Software Foundation, Inc. + Copyright (C) 1997-2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -23,8 +23,8 @@ int __feclearexcept (int excepts) { - /* This always fails. */ - return 1; + /* This always fails unless nothing needs to be done. */ + return (excepts != 0); } #if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2) strong_alias (__feclearexcept, __old_feclearexcept) diff --git a/math/fraiseexcpt.c b/math/fraiseexcpt.c index cb752df734..83a488b456 100644 --- a/math/fraiseexcpt.c +++ b/math/fraiseexcpt.c @@ -1,5 +1,5 @@ /* Raise given exceptions. - Copyright (C) 1997, 1999, 2000, 2002 Free Software Foundation, Inc. + Copyright (C) 1997-2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -23,8 +23,8 @@ int __feraiseexcept (int excepts) { - /* This always fails. */ - return 1; + /* This always fails unless nothing needs to be done. */ + return (excepts != 0); } #if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2) strong_alias (__feraiseexcept, __old_feraiseexcept) diff --git a/math/fsetexcptflg.c b/math/fsetexcptflg.c index 3f6ac9893b..7d27d7f226 100644 --- a/math/fsetexcptflg.c +++ b/math/fsetexcptflg.c @@ -1,5 +1,5 @@ /* Set floating-point environment exception handling. - Copyright (C) 1997, 1999, 2000 Free Software Foundation, Inc. + Copyright (C) 1997-2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -23,8 +23,8 @@ int __fesetexceptflag (const fexcept_t *flagp, int excepts) { - /* This always fails. */ - return 1; + /* This always fails unless nothing needs to be done. */ + return (excepts != 0); } #if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2) strong_alias (__fesetexceptflag, __old_fesetexceptflag)