Add feholdexcept inline in generic math_private.h.
authorJoseph Myers <joseph@codesourcery.com>
Thu, 1 Feb 2018 20:56:08 +0000 (20:56 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Thu, 1 Feb 2018 20:56:08 +0000 (20:56 +0000)
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
sysdeps/generic/math_private.h

index 980c5cb..acfe380 100644 (file)
--- 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
index f93cf69..0a35cb3 100644 (file)
@@ -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;