From ae1fcb7b92c60ef7134bc8ea82d6089a6841a4b5 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Thu, 1 Feb 2018 20:56:08 +0000 Subject: [PATCH] Add feholdexcept inline in generic math_private.h. Continuing the process of improving and cleaning up the handling of configurations lacking support for floating-point exceptions and rounding modes, this patch adds trivial inline definitions of feholdexcept and __feholdexcept to the set of inlines for such configurations in math_private.h. These inlines were missing from the tile version used as a basis for the previous inlines, despite a few such function calls ending up in libm.so. Tested with build-many-glibcs.py. As expected, installed stripped shared libraries are unchanged for architectures supporting exceptions and rounding modes, but changed for architectures lacking such support. * sysdeps/generic/math_private.h [!FE_HAVE_ROUNDING_MODES && FE_ALL_EXCEPT == 0] (feholdexcept): New inline function. [!FE_HAVE_ROUNDING_MODES && FE_ALL_EXCEPT == 0] (__feholdexcept): Likewise. --- ChangeLog | 6 ++++++ sysdeps/generic/math_private.h | 12 ++++++++++++ 2 files changed, 18 insertions(+) diff --git a/ChangeLog b/ChangeLog index 980c5cb..acfe380 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2018-02-01 Joseph Myers + * sysdeps/generic/math_private.h + [!FE_HAVE_ROUNDING_MODES && FE_ALL_EXCEPT == 0] (feholdexcept): + New inline function. + [!FE_HAVE_ROUNDING_MODES && FE_ALL_EXCEPT == 0] (__feholdexcept): + Likewise. + * include/fenv.h [!_ISOMAC && !FE_TONEAREST]: Give #error. [!_ISOMAC] (FE_HAVE_ROUNDING_MODES): New macro. * sysdeps/generic/math_private.h diff --git a/sysdeps/generic/math_private.h b/sysdeps/generic/math_private.h index f93cf69..0a35cb3 100644 --- a/sysdeps/generic/math_private.h +++ b/sysdeps/generic/math_private.h @@ -673,6 +673,18 @@ __fegetenv (fenv_t *__e) } extern inline int +feholdexcept (fenv_t *__e) +{ + return 0; +} + +extern inline int +__feholdexcept (fenv_t *__e) +{ + return 0; +} + +extern inline int fesetenv (const fenv_t *__e) { return 0; -- 2.7.4