Joseph Myers f778723496 Use long double not double for _Float64 with old GCC if values the same.
If double, long double and _Float64 all have the same set of values,
TS 18661-3 requires the usual arithmetic conversions on long double
and _Float64 to produce _Float64.  For this to be the case when
building with a compiler without a distinct _Float64 type, _Float64
must be a typedef for long double, not for double.  (_Float32x,
however, must be double in such a case, not long double, because the
usual arithmetic conversions on _Float32x and double must produce
double.)

This patch adjusts the fallback definition of _Float64 and associated
macros accordingly in that case, to fix the build of test-tgmath3 with
GCC 6 for such a configuration.  Tested in conjunction with _Float64
changes with build-many-glibcs.py for arm-linux-gnueabi, to make sure
the issue with test-tgmath3 is fixed.  Also tested for x86_64.

	* bits/floatn-common.h: Include <bits/long-double.h>.
	[__HAVE_FLOAT64 && (!__GNUC_PREREQ (7, 0) || defined __cplusplus)
	&& __NO_LONG_DOUBLE_MATH] (__f64): Use suffix 'l'.
	[__HAVE_FLOAT64 && (!__GNUC_PREREQ (7, 0) || defined __cplusplus)
	&& __NO_LONG_DOUBLE_MATH] (__CFLOAT64): Use _Complex long double.
	[__HAVE_FLOAT64 && (!__GNUC_PREREQ (7, 0) || defined __cplusplus)
	&& __NO_LONG_DOUBLE_MATH] (_Float64): Use long double.
	[__HAVE_FLOAT64 && !__GNUC_PREREQ (7, 0) && __NO_LONG_DOUBLE_MATH]
	(__builtin_huge_valf64): Use __builtin_huge_vall.
	[__HAVE_FLOAT64 && !__GNUC_PREREQ (7, 0) && __NO_LONG_DOUBLE_MATH]
	(__builtin_inff64): Use __builtin_infl.
	[__HAVE_FLOAT64 && !__GNUC_PREREQ (7, 0) && __NO_LONG_DOUBLE_MATH]
	(__builtin_nanf64): Use __builtin_nanl.
	[__HAVE_FLOAT64 && !__GNUC_PREREQ (7, 0) && __NO_LONG_DOUBLE_MATH]
	(__builtin_nansf64): Use __builtin_nansl.
2017-12-05 21:52:15 +00:00
..
2017-08-16 20:33:59 +00:00
1999-07-27 05:53:25 +00:00
1997-11-26 04:23:08 +00:00
1999-11-11 01:05:26 +00:00
2017-11-27 14:16:47 +00:00
1997-11-26 04:23:08 +00:00
1997-10-15 05:34:02 +00:00
1997-10-15 05:34:02 +00:00
1997-11-26 04:23:08 +00:00
2017-05-19 20:35:07 +00:00
2017-09-24 22:21:41 +02:00
2017-05-19 20:35:07 +00:00
2016-11-04 09:37:44 -07:00