PATCH (libstdc++-v3): Fix libstdc++/7680 (and a reference fix for the dynamic visibility of C99 features in system headers)
Nathan Myers
ncm-nospam@cantrip.org
Thu Apr 17 15:15:00 GMT 2003
On Thu, Apr 17, 2003 at 03:19:08PM +0100, Joern Rennecke wrote:
> If a is known to be literally either 0, 1, or empty, you can do:
>
> #define _GLIBCXX_C99_USING(b)
I agree that supporting the case where the "a" argument is #defined
empty is worth an extra line. In my proposed amendment, it would be
#define _GLIBCXX_IF_(__b, __c) __c
#define _GLIBCXX_IF_0(__b, __c) __c
#define _GLIBCXX_IF_1(__b, __c) __b
#define _GLIBCXX_IF(__a,__b,__c) _GLIBCXX_IF_ ## __a(__b, __c)
in some convenient base header, and
#define _GLIBCXX_C99_BIND(__a,__b) _GLIBCXX_IF(__a, using ::__b;, )
in <cmath>.
Nathan Myers
ncm-nospam@cantrip.org
More information about the Libstdc++
mailing list