path: root/include/tgmath.h
diff options
authorEd Schouten <ed@FreeBSD.org>2014-09-05 05:36:32 +0000
committerEd Schouten <ed@FreeBSD.org>2014-09-05 05:36:32 +0000
commitb58aba6b66b24b993f1f241d88fb9f9a2025e1f7 (patch)
treeb2602da980966fa5a29c2e911dc374a37179bed3 /include/tgmath.h
parent7aa83a16bce6adca4c7e3af643705dc4acb031a0 (diff)
Roll back r271012 even more aggressively.
I've looked at the GCC sources and I now understand what's going wrong. THe C11 keywords are simply nonexistent when using C++ mode. They are marked as C-only in the parser. This is absolutely impractical for multiple reasons: - The C11 keywords do not conflict with C++ naming rules. They all start with _[A-Z]. There is no reason to make them C-only. - It makes it practically impossible for people to use these keywords in C header files and expect them to work from within C++ sources. As I said in my previous commit message: GCC is by far the weirdest compiler that I've ever used.
Notes: svn path=/head/; revision=271155
Diffstat (limited to 'include/tgmath.h')
1 files changed, 1 insertions, 1 deletions
diff --git a/include/tgmath.h b/include/tgmath.h
index 488575f0fbfa..7f4de6f3fa6e 100644
--- a/include/tgmath.h
+++ b/include/tgmath.h
@@ -61,7 +61,7 @@
#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || \
- __has_extension(c_generic_selections) || __GNUC_PREREQ__(4, 9)
+ __has_extension(c_generic_selections)
#define __tg_generic(x, cfnl, cfn, cfnf, fnl, fn, fnf) \
_Generic(x, \
long double _Complex: cfnl, \