From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27525 invoked by alias); 4 Aug 2003 16:13:54 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 27507 invoked by uid 48); 4 Aug 2003 16:13:54 -0000 Date: Mon, 04 Aug 2003 16:13:00 -0000 Message-ID: <20030804161354.27505.qmail@sources.redhat.com> From: "bkoz at gcc dot gnu dot org" To: gcc-bugs@gcc.gnu.org In-Reply-To: <20010125132600.1773.jens.maurer@gmx.net> References: <20010125132600.1773.jens.maurer@gmx.net> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug libstdc++/1773] __cplusplus defined to 1, should be 199711L X-Bugzilla-Reason: CC X-SW-Source: 2003-08/txt/msg00361.txt.bz2 List-Id: 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