Author: ed
Date: Sat Apr 27 21:18:34 2013
New Revision: 249995
URL: http://svnweb.freebsd.org/changeset/base/249995

Log:
  Enable improved <tgmath.h> for Clang even when not using C11.
  
  By using __has_extension(c_generic_selections), we can explicitly test
  whether we're dealing with a version of Clang that supports _Generic().
  That way we can use the improved <tgmath.h> code, even when not using
  -std=c11. This massively reduces the compilation time when invoking
  these functions.

Modified:
  head/include/tgmath.h

Modified: head/include/tgmath.h
==============================================================================
--- head/include/tgmath.h       Sat Apr 27 20:24:30 2013        (r249994)
+++ head/include/tgmath.h       Sat Apr 27 21:18:34 2013        (r249995)
@@ -60,7 +60,8 @@
  * compilers use an inefficient yet reliable version.
  */
 
-#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L
+#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || \
+    __has_extension(c_generic_selections)
 #define        __tg_generic(x, cfnl, cfn, cfnf, fnl, fn, fnf)                  
\
        _Generic(x,                                                     \
                long double _Complex: cfnl,                             \
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"

Reply via email to