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].
This commit is contained in:
Joseph Myers 2017-08-25 17:02:33 +00:00
parent 23761119fe
commit a6ccdb0839
2 changed files with 4 additions and 1 deletions

View File

@ -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

View File

@ -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 :