PATCH (libstdc++-v3): Fix libstdc++/7680 (and a reference fix for the dynamic visibility of C99 features in system headers)

Loren James Rittle rittle@latour.rsch.comm.mot.com
Thu Apr 17 22:07:00 GMT 2003


In article <20030417151717.GH29144@tofu.dreamhost.com> Nathan writes:
>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:

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

Agreed.  I will sort out the generic part (and add support for macro
not-defined) and report when I commit it.

Loren



More information about the Libstdc++ mailing list