summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2017-11-01 23:42:31 +0000
committerJoseph Myers <joseph@codesourcery.com>2017-11-01 23:42:31 +0000
commit260fbd0a394fec9aabe5cfa24272f33723cb355c (patch)
tree40f504d7f196ee1a0dafe116b156654760a9a1a3
parent2f1b212e54b280a2dc05b809922ae25d8071da74 (diff)
downloadglibc-260fbd0a394fec9aabe5cfa24272f33723cb355c.tar.gz
glibc-260fbd0a394fec9aabe5cfa24272f33723cb355c.tar.xz
glibc-260fbd0a394fec9aabe5cfa24272f33723cb355c.zip
Include bits/cmathcalls.h for more _FloatN, _FloatNx types.
Continuing the preparation for additional _FloatN / _FloatNx type
support, this patch arranges for <bits/cmathcalls.h> to be included by
<complex.h> for each such type under conditions and with macros
defined corresponding to those used for _Float128.

Tested for x86_64.

	* math/complex.h
	[(__HAVE_DISTINCT_FLOAT16 || (__HAVE_FLOAT16 && !_LIBC))
	&& __GLIBC_USE (IEC_60559_TYPES_EXT)]: Include <bits/cmathcalls.h>
	with appropriate macros defined and undefined.
	[(__HAVE_DISTINCT_FLOAT32 || (__HAVE_FLOAT32 && !_LIBC))
	&& __GLIBC_USE (IEC_60559_TYPES_EXT)]: Likewise.
	[(__HAVE_DISTINCT_FLOAT64 || (__HAVE_FLOAT64 && !_LIBC))
	&& __GLIBC_USE (IEC_60559_TYPES_EXT)]: Likewise.
	[(__HAVE_DISTINCT_FLOAT32X || (__HAVE_FLOAT32X && !_LIBC))
	&& __GLIBC_USE (IEC_60559_TYPES_EXT)]: Likewise.
	[(__HAVE_DISTINCT_FLOAT64X || (__HAVE_FLOAT64X && !_LIBC))
	&& __GLIBC_USE (IEC_60559_TYPES_EXT)]: Likewise.
	[(__HAVE_DISTINCT_FLOAT128X || (__HAVE_FLOAT128X && !_LIBC))
	&& __GLIBC_USE (IEC_60559_TYPES_EXT)]: Likewise.
-rw-r--r--ChangeLog15
-rw-r--r--math/complex.h72
2 files changed, 87 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index ddbe9222e9..667c9d4826 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,21 @@
 2017-11-01  Joseph Myers  <joseph@codesourcery.com>
 
 	* math/complex.h
+	[(__HAVE_DISTINCT_FLOAT16 || (__HAVE_FLOAT16 && !_LIBC))
+	&& __GLIBC_USE (IEC_60559_TYPES_EXT)]: Include <bits/cmathcalls.h>
+	with appropriate macros defined and undefined.
+	[(__HAVE_DISTINCT_FLOAT32 || (__HAVE_FLOAT32 && !_LIBC))
+	&& __GLIBC_USE (IEC_60559_TYPES_EXT)]: Likewise.
+	[(__HAVE_DISTINCT_FLOAT64 || (__HAVE_FLOAT64 && !_LIBC))
+	&& __GLIBC_USE (IEC_60559_TYPES_EXT)]: Likewise.
+	[(__HAVE_DISTINCT_FLOAT32X || (__HAVE_FLOAT32X && !_LIBC))
+	&& __GLIBC_USE (IEC_60559_TYPES_EXT)]: Likewise.
+	[(__HAVE_DISTINCT_FLOAT64X || (__HAVE_FLOAT64X && !_LIBC))
+	&& __GLIBC_USE (IEC_60559_TYPES_EXT)]: Likewise.
+	[(__HAVE_DISTINCT_FLOAT128X || (__HAVE_FLOAT128X && !_LIBC))
+	&& __GLIBC_USE (IEC_60559_TYPES_EXT)]: Likewise.
+
+	* 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
diff --git a/math/complex.h b/math/complex.h
index 48c2d9e6fc..11b1cdeefe 100644
--- a/math/complex.h
+++ b/math/complex.h
@@ -131,6 +131,42 @@ __BEGIN_DECLS
 #undef	_Mdouble_
 #undef	__MATH_PRECNAME
 
+#if (__HAVE_DISTINCT_FLOAT16 || (__HAVE_FLOAT16 && !defined _LIBC)) \
+     && __GLIBC_USE (IEC_60559_TYPES_EXT)
+# undef _Mdouble_complex_
+# define _Mdouble_complex_	__CFLOAT16
+# define _Mdouble_		_Float16
+# define __MATH_PRECNAME(name)	name##f16
+# include <bits/cmathcalls.h>
+# undef _Mdouble_
+# undef __MATH_PRECNAME
+# undef _Mdouble_complex_
+#endif
+
+#if (__HAVE_DISTINCT_FLOAT32 || (__HAVE_FLOAT32 && !defined _LIBC)) \
+     && __GLIBC_USE (IEC_60559_TYPES_EXT)
+# undef _Mdouble_complex_
+# define _Mdouble_complex_	__CFLOAT32
+# define _Mdouble_		_Float32
+# define __MATH_PRECNAME(name)	name##f32
+# include <bits/cmathcalls.h>
+# undef _Mdouble_
+# undef __MATH_PRECNAME
+# undef _Mdouble_complex_
+#endif
+
+#if (__HAVE_DISTINCT_FLOAT64 || (__HAVE_FLOAT64 && !defined _LIBC)) \
+     && __GLIBC_USE (IEC_60559_TYPES_EXT)
+# undef _Mdouble_complex_
+# define _Mdouble_complex_	__CFLOAT64
+# define _Mdouble_		_Float64
+# define __MATH_PRECNAME(name)	name##f64
+# include <bits/cmathcalls.h>
+# undef _Mdouble_
+# undef __MATH_PRECNAME
+# undef _Mdouble_complex_
+#endif
+
 #if (__HAVE_DISTINCT_FLOAT128 || (__HAVE_FLOAT128 && !defined _LIBC)) \
      && __GLIBC_USE (IEC_60559_TYPES_EXT)
 # undef _Mdouble_complex_
@@ -143,6 +179,42 @@ __BEGIN_DECLS
 # undef _Mdouble_complex_
 #endif
 
+#if (__HAVE_DISTINCT_FLOAT32X || (__HAVE_FLOAT32X && !defined _LIBC)) \
+     && __GLIBC_USE (IEC_60559_TYPES_EXT)
+# undef _Mdouble_complex_
+# define _Mdouble_complex_	__CFLOAT32X
+# define _Mdouble_		_Float32x
+# define __MATH_PRECNAME(name)	name##f32x
+# include <bits/cmathcalls.h>
+# undef _Mdouble_
+# undef __MATH_PRECNAME
+# undef _Mdouble_complex_
+#endif
+
+#if (__HAVE_DISTINCT_FLOAT64X || (__HAVE_FLOAT64X && !defined _LIBC)) \
+     && __GLIBC_USE (IEC_60559_TYPES_EXT)
+# undef _Mdouble_complex_
+# define _Mdouble_complex_	__CFLOAT64X
+# define _Mdouble_		_Float64x
+# define __MATH_PRECNAME(name)	name##f64x
+# include <bits/cmathcalls.h>
+# undef _Mdouble_
+# undef __MATH_PRECNAME
+# undef _Mdouble_complex_
+#endif
+
+#if (__HAVE_DISTINCT_FLOAT128X || (__HAVE_FLOAT128X && !defined _LIBC)) \
+     && __GLIBC_USE (IEC_60559_TYPES_EXT)
+# undef _Mdouble_complex_
+# define _Mdouble_complex_	__CFLOAT128X
+# define _Mdouble_		_Float128x
+# define __MATH_PRECNAME(name)	name##f128x
+# include <bits/cmathcalls.h>
+# undef _Mdouble_
+# undef __MATH_PRECNAME
+# undef _Mdouble_complex_
+#endif
+
 #undef	__MATHDECL_1
 #undef	__MATHDECL
 #undef	__MATHCALL