diff options
author | ed <ed@FreeBSD.org> | 2014-09-05 05:36:32 +0000 |
---|---|---|
committer | ed <ed@FreeBSD.org> | 2014-09-05 05:36:32 +0000 |
commit | 059046bff7cb209ee92b7a510584f1527d7c73d4 (patch) | |
tree | b2602da980966fa5a29c2e911dc374a37179bed3 /include | |
parent | 88f6292fc6797241959653b23bba08b173e98be8 (diff) | |
download | FreeBSD-src-059046bff7cb209ee92b7a510584f1527d7c73d4.zip FreeBSD-src-059046bff7cb209ee92b7a510584f1527d7c73d4.tar.gz |
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.
Diffstat (limited to 'include')
-rw-r--r-- | include/tgmath.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/tgmath.h b/include/tgmath.h index 488575f..7f4de6f 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, \ |