aboutsummaryrefslogtreecommitdiffstats
path: root/include/tgmath.h
diff options
context:
space:
mode:
authorEd Schouten <ed@FreeBSD.org>2012-01-05 12:06:49 +0000
committerEd Schouten <ed@FreeBSD.org>2012-01-05 12:06:49 +0000
commitcede7d22fedb3ab62ece118335a85b5f011ad9e2 (patch)
tree1b61516d1d622f3fe8441c6a2862eea7ea356f21 /include/tgmath.h
parentf92d9d7d375049753865aa2a50428162f23c4a44 (diff)
downloadsrc-cede7d22fedb3ab62ece118335a85b5f011ad9e2.tar.gz
src-cede7d22fedb3ab62ece118335a85b5f011ad9e2.zip
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.
Notes
Notes: svn path=/head/; revision=229591
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 9673dd4dce0b..372274f5e162 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), \