]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Remove sysdeps/x86/fpu/bits/mathinline.h __finite inline.
authorJoseph Myers <joseph@codesourcery.com>
Fri, 16 Mar 2018 18:36:53 +0000 (18:36 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Fri, 16 Mar 2018 18:36:53 +0000 (18:36 +0000)
Continuing the removals of inline functions from the x86
bits/mathinline.h, this patch removes an inline of __finite (which was
not actually architecture-specific at all beyond its
endianness-dependence).

This inline is not normally used with GCC 4.4 or later, because
isfinite now uses __builtin_isfinite except for -fsignaling-nans.
Allowing __builtin_isfinite etc. to work properly even for
-fsignaling-nans, by implementing versions of those built-in functions
that use integer arithmetic in GCC, is
<https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66462> (a patch was
committed but had to be reverted because it caused problems, and that
patch didn't address all formats for all architectures, only some, so
by itself would not have been sufficient to allow glibc to use
__builtin_isfinite unconditionally for new-enough GCC).

Tested for x86_64 and x86.

* sysdeps/x86/fpu/bits/mathinline.h [__USE_MISC] (__finite):
Remove inline function.

ChangeLog
sysdeps/x86/fpu/bits/mathinline.h

index 78cb4971435e56763d7008652f8283bd3e792c68..c2468c8cd8a18e121dc0e1e00bc462c03b0360de 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2018-03-16  Joseph Myers  <joseph@codesourcery.com>
 
+       * sysdeps/x86/fpu/bits/mathinline.h [__USE_MISC] (__finite):
+       Remove inline function.
+
        * sysdeps/i386/fpu/libm-test-ulps: Update.
        * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise.
 
index d7fa3847ebcc5797c3d616034a4eced24f7572e8..91ece8dfb87ada84137f131b5b6d1b6ea78ede8a 100644 (file)
@@ -306,19 +306,6 @@ __inline_mathcodeNP2 (hypot, __x, __y,
 #  endif
 
 
-#  ifdef __USE_MISC
-
-/* This function is used in the `isfinite' macro.  */
-__MATH_INLINE int
-__NTH (__finite (double __x))
-{
-  return (__extension__
-         (((((union { double __d; int __i[2]; }) {__d: __x}).__i[1]
-            | 0x800fffffu) + 1) >> 31));
-}
-
-#  endif /* __USE_MISC  */
-
 /* Undefine some of the large macros which are not used anymore.  */
 #  ifdef __FAST_MATH__
 #   undef __expm1_code