aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2018-02-01 20:56:08 +0000
committerJoseph Myers <joseph@codesourcery.com>2018-02-01 20:56:08 +0000
commitae1fcb7b92c60ef7134bc8ea82d6089a6841a4b5 (patch)
tree1f7e0c9f120f2d7a3c1d3674f1f352be3784fdbf
parentb1c347e2cd33a1a7f705de5c0876ba47c254a55c (diff)
downloadglibc-ae1fcb7b92c60ef7134bc8ea82d6089a6841a4b5.tar
glibc-ae1fcb7b92c60ef7134bc8ea82d6089a6841a4b5.tar.gz
glibc-ae1fcb7b92c60ef7134bc8ea82d6089a6841a4b5.tar.bz2
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--ChangeLog6
-rw-r--r--sysdeps/generic/math_private.h12
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;