about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2017-08-25 17:02:33 +0000
committerJoseph Myers <joseph@codesourcery.com>2017-08-25 17:02:33 +0000
commita6ccdb0839756c00377e99ac37f9721028f5d719 (patch)
tree6f28f2d61ae6f549f25c1ef1d2ca926b13f4b590
parent23761119feea282d2d209a01902e5d92049ea6b6 (diff)
downloadglibc-a6ccdb0839756c00377e99ac37f9721028f5d719.tar.gz
glibc-a6ccdb0839756c00377e99ac37f9721028f5d719.tar.xz
glibc-a6ccdb0839756c00377e99ac37f9721028f5d719.zip
Use __HAVE_DISTINCT_FLOAT128 in tgmath.h.
When _Float128 is ABI-equivalent to long double, there is no need for
tgmath.h to have any special _Float128 handling: it's always OK to
call the long double versions of functions for _Float128 arguments in
that case, and the logic to determine return types is generic.  Thus,
this patch changes the use of __HAVE_FLOAT128 to
__HAVE_DISTINCT_FLOAT128, as a minor optimization to reduce the size
of the macro expansions in the ABI-equivalent case.

Tested for x86_64.

	* math/tgmath.h [__HAVE_FLOAT128]: Change conditional to
	[__HAVE_DISTINCT_FLOAT128].
-rw-r--r--ChangeLog3
-rw-r--r--math/tgmath.h2
2 files changed, 4 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 101a94351f..f2c420423d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2017-08-25  Joseph Myers  <joseph@codesourcery.com>
 
+	* math/tgmath.h [__HAVE_FLOAT128]: Change conditional to
+	[__HAVE_DISTINCT_FLOAT128].
+
 	* math/math.h (_MSUFTO_): Define and undefine for each inclusion
 	of <bits/math-finite.h>.
 	(__MATH_DECLARING_LDOUBLE): Do not define and undefine for each
diff --git a/math/tgmath.h b/math/tgmath.h
index 68cee645f3..243813cdc0 100644
--- a/math/tgmath.h
+++ b/math/tgmath.h
@@ -118,7 +118,7 @@
 /* Expand to text that checks if ARG_COMB has type _Float128, and if
    so calls the appropriately suffixed FCT (which may include a cast),
    or FCT and CFCT for complex functions, with arguments ARG_CALL.  */
-# if __HAVE_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT)
+# if __HAVE_DISTINCT_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT)
 #  define __TGMATH_F128(arg_comb, fct, arg_call) \
   __builtin_types_compatible_p (__typeof (+(arg_comb)), _Float128)	\
   ? fct ## f128 arg_call :