diff options
author | Joseph Myers <joseph@codesourcery.com> | 2018-02-01 20:56:08 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2018-02-01 20:56:08 +0000 |
commit | ae1fcb7b92c60ef7134bc8ea82d6089a6841a4b5 (patch) | |
tree | 1f7e0c9f120f2d7a3c1d3674f1f352be3784fdbf | |
parent | b1c347e2cd33a1a7f705de5c0876ba47c254a55c (diff) | |
download | glibc-ae1fcb7b92c60ef7134bc8ea82d6089a6841a4b5.tar.gz glibc-ae1fcb7b92c60ef7134bc8ea82d6089a6841a4b5.tar.xz glibc-ae1fcb7b92c60ef7134bc8ea82d6089a6841a4b5.zip |
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.
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | sysdeps/generic/math_private.h | 12 |
2 files changed, 18 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index 980c5cbaf3..acfe380aae 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2018-02-01 Joseph Myers <joseph@codesourcery.com> + * 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 f93cf6927e..0a35cb39fb 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; |