This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug libstdc++/1773] __cplusplus defined to 1, should be 199711L



------- Comment #63 from bkoz at gcc dot gnu dot org  2007-03-28 18:18 -------


There is no fix a the moment.

However, I'm working on speculative fixes for newlib and linux, which are
predicated on the correct __cplusplus values. I may get to solaris too, if my
sanity stretches that far, or I may fail entirely, everywhere. 

However, I now think the current solaris headers are actually wrong , but
differently than before.

:( 

Based on Solaris 11 x86, I don't see a way for say cstdlib to have only the
namespace std versions of functions, and not also the global scoped ones. This
is a problem. The way I read ISO C++, cstdlib should only have std:: scoped
bits. The C++ compatibility include stdlib.h should then re-scope to ::
(global). Solaris tries to smash these two concepts together. Boo.

In theory it should be possible for ISO-C++ programs to have a clean global
namespace. Or, mostly clean considering some stuff is in the global namespace
by default (some new signatures, etc.: complete list in doxygen markup.)

Anyway. Who knows if this is indeed possible, anyway? I'll try to find out what
our options are and give current status at least. 

My RFC message about C++0x headers had the details on my implementation plan, I
think.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=1773


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]