Clean up complex.h handling of float128.

This patch cleans up the way complex.h handles inclusion of
bits/cmathcalls.h for float128.  The inclusion was between those for
the types float and long double; the patch moves it after that for
long double, matching how bits/mathcalls.h and bits/math-finite.h
inclusions are ordered.  There is no need for the undefine and define
of _Mdouble_complex_ to be conditional, since __CFLOAT128 is always
defined by bits/floatn.h when _Float128 is supported, so the patch
removes the unnecessary conditionals.

Tested for x86_64.

	* math/complex.h
	[(__HAVE_DISTINCT_FLOAT128 || (__HAVE_FLOAT128 && !LIBC))
	&& __GLIBC_USE (IEC_60559_TYPES_EXT)]: Move conditional code after
	that for long double.  Do not condition define and undefine of
	_Mdouble_complex_ on [__CFLOAT128].
This commit is contained in:
Joseph Myers 2017-11-01 17:03:58 +00:00
parent 95b93c6e0d
commit 2f1b212e54
2 changed files with 21 additions and 15 deletions

View File

@ -1,3 +1,11 @@
2017-11-01 Joseph Myers <joseph@codesourcery.com>
* math/complex.h
[(__HAVE_DISTINCT_FLOAT128 || (__HAVE_FLOAT128 && !LIBC))
&& __GLIBC_USE (IEC_60559_TYPES_EXT)]: Move conditional code after
that for long double. Do not condition define and undefine of
_Mdouble_complex_ on [__CFLOAT128].
2017-11-01 H.J. Lu <hongjiu.lu@intel.com>
* sysdeps/i386/sysdep.h: Include <sysdeps/x86/sysdep.h> instead

View File

@ -114,21 +114,6 @@ __BEGIN_DECLS
#undef _Mdouble_
#undef __MATH_PRECNAME
#if (__HAVE_DISTINCT_FLOAT128 || (__HAVE_FLOAT128 && !defined _LIBC)) \
&& __GLIBC_USE (IEC_60559_TYPES_EXT)
/* GCC < 7 requires extra convincing to expose a complex float128 type. */
# ifdef __CFLOAT128
# undef _Mdouble_complex_
# define _Mdouble_complex_ __CFLOAT128
# endif
# define _Mdouble_ _Float128
# define __MATH_PRECNAME(name) name##f128
# include <bits/cmathcalls.h>
# undef _Mdouble_
# undef __MATH_PRECNAME
# undef _Mdouble_complex_
#endif
/* And the long double versions. It is non-critical to define them
here unconditionally since `long double' is required in ISO C99. */
#if !(defined __NO_LONG_DOUBLE_MATH && defined _LIBC) \
@ -145,6 +130,19 @@ __BEGIN_DECLS
#endif
#undef _Mdouble_
#undef __MATH_PRECNAME
#if (__HAVE_DISTINCT_FLOAT128 || (__HAVE_FLOAT128 && !defined _LIBC)) \
&& __GLIBC_USE (IEC_60559_TYPES_EXT)
# undef _Mdouble_complex_
# define _Mdouble_complex_ __CFLOAT128
# define _Mdouble_ _Float128
# define __MATH_PRECNAME(name) name##f128
# include <bits/cmathcalls.h>
# undef _Mdouble_
# undef __MATH_PRECNAME
# undef _Mdouble_complex_
#endif
#undef __MATHDECL_1
#undef __MATHDECL
#undef __MATHCALL