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