summaryrefslogtreecommitdiffstats
path: root/include/tgmath.h
diff options
context:
space:
mode:
authored <ed@FreeBSD.org>2012-01-05 12:06:49 +0000
committered <ed@FreeBSD.org>2012-01-05 12:06:49 +0000
commitd710ba64f26b022730adec4f66df3880769642de (patch)
tree1b61516d1d622f3fe8441c6a2862eea7ea356f21 /include/tgmath.h
parent7b66fc748479f74f48351332bc661cc02bff0374 (diff)
downloadFreeBSD-src-d710ba64f26b022730adec4f66df3880769642de.zip
FreeBSD-src-d710ba64f26b022730adec4f66df3880769642de.tar.gz
Remove _Complex_I workaround from <tgmath.h>.
This removes the use of __typeof() from this header, thus making it work with a plain C11 compiler.
Diffstat (limited to 'include/tgmath.h')
-rw-r--r--include/tgmath.h13
1 files changed, 4 insertions, 9 deletions
diff --git a/include/tgmath.h b/include/tgmath.h
index 9673dd4..372274f 100644
--- a/include/tgmath.h
+++ b/include/tgmath.h
@@ -53,9 +53,6 @@
* Note that these macros cannot be implemented with C's ?: operator,
* because the return type of the whole expression would incorrectly be long
* double complex regardless of the argument types.
- *
- * The _Complex_I distinction should not be needed, but due to a bug in
- * GCC 4.2, _Complex_I is not of type float _Complex.
*/
#ifndef __generic
@@ -66,9 +63,8 @@
__generic(x, long double _Complex, fnl, \
__generic(x, double _Complex, fn, \
__generic(x, float _Complex, fnf, \
- __generic(x, __typeof(_Complex_I), fnf, \
- __generic(x, long double, fnl, \
- __generic(x, float, fnf, fn))))))
+ __generic(x, long double, fnl, \
+ __generic(x, float, fnf, fn)))))
#define __tg_impl_simple(x, y, z, fnl, fn, fnf, ...) \
__tg_generic_simple(x, \
__tg_generic_simple(y, \
@@ -87,9 +83,8 @@
__generic(x, long double _Complex, cfnl, \
__generic(x, double _Complex, cfn, \
__generic(x, float _Complex, cfnf, \
- __generic(x, __typeof(_Complex_I), cfnf, \
- __generic(x, long double, fnl, \
- __generic(x, float, fnf, fn))))))
+ __generic(x, long double, fnl, \
+ __generic(x, float, fnf, fn)))))
#define __tg_impl_full(x, y, cfnl, cfn, cfnf, fnl, fn, fnf, ...) \
__tg_generic_full(x, \
__tg_generic_full(y, cfnl, cfnl, cfnl, cfnl, cfnl, cfnl), \
OpenPOWER on IntegriCloud