Author: ed
Date: Thu Jan  5 12:06:49 2012
New Revision: 229591
URL: http://svn.freebsd.org/changeset/base/229591

Log:
  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.

Modified:
  head/include/tgmath.h

Modified: head/include/tgmath.h
==============================================================================
--- head/include/tgmath.h       Thu Jan  5 12:05:48 2012        (r229590)
+++ head/include/tgmath.h       Thu Jan  5 12:06:49 2012        (r229591)
@@ -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),   \
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to