This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libstdc++/1773] __cplusplus defined to 1, should be 199711L
- From: "bkoz at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 4 Aug 2003 16:13:54 -0000
- Subject: [Bug libstdc++/1773] __cplusplus defined to 1, should be 199711L
- References: <20010125132600.1773.jens.maurer@gmx.net>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=1773
------- Additional Comments From bkoz at gcc dot gnu dot org 2003-08-04 16:13 -------
Dudes. Fixing this is more involved than its been pointed out, which is why this
bug is still around after two+ years. This is also a bug that can be fixed
without impacting the ABI, which means it's decidedly lower priority at the moment.
Back to this specific bug report.
First of all, Solaris headers keep changing, and none of the v3 maintainers has
access to all of 2.5/2.6/2.7/2.8/2.9 etc. In addition, I think only Phil has
reliable acces to 2.9.
Second of all, the Solaris 2.9 headers are correct, and are what the linux
includes should be attempting. As Gaby pointed out, this is a problem with the
C->C++ interface, and thus on linux involves a reasonable stab at "C"
compatibility headers and C++ aware "C" includes. For some platforms (say newlib
crosses and QNX) the "c" header strategy (as opposed to the current "c_std")
solves this problem for platforms that don't use wchar_t or C99 features.
There are at least three problems that need to be solved before this approach
will work on linux, and this bug report can be closed.
1) _USE_GNU needs to be turned off in the g++ front end, and a more fine-grained
approach needs to be used to bring in wchar_t functions.
2) the "C" includes have to be fitted into the eventual C++ compatibility
headers (some work went in for glibc-2.3.x).
3) using the "c" model has to be made to work in the presence of C99 and wchar_t.
-benjamin