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