From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14419 invoked by alias); 19 Mar 2002 15:16:10 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 14358 invoked by uid 71); 19 Mar 2002 15:16:04 -0000 Resent-Date: 19 Mar 2002 15:16:03 -0000 Resent-Message-ID: <20020319151603.14357.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-To: nobody@gcc.gnu.org Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, mdeil@pallas.de Received:(qmail 5046 invoked by uid 61); 19 Mar 2002 15:08:27 -0000 Message-Id:<20020319150827.5024.qmail@sources.redhat.com> Date: Tue, 19 Mar 2002 07:16:00 -0000 From: mdeil@pallas.de Reply-To: mdeil@pallas.de To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version:gnatsweb-2.9.3 (1.1.1.1.2.31) Subject: c++/6001: g++ problems with nested headers from > egcs-2.91.66 until 3.0.0 X-SW-Source: 2002-03/txt/msg00717.txt.bz2 List-Id: >Number: 6001 >Category: c++ >Synopsis: g++ problems with nested headers from > egcs-2.91.66 until 3.0.0 >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Tue Mar 19 07:16:02 PST 2002 >Closed-Date: >Last-Modified: >Originator: Mario Deilmann >Release: gcc version 3.0 and other ... >Organization: >Environment: SunOS pooh 5.7 Generic_106541-19 sun4u sparc SUNW,Ultra-4 >Description: Hi, I found some strange behaviour with some of the g++ versions greater than 2.91 on different platforms with a small C++ code (included) I investigated a little more and found out that in my opinion the program was badly coded. The header files included each others and also some of the system headers. So I cleaned up all headers so that there are no more includes in the header files. Collected the used system and program header's and added the std namespace. Wow, what a suprise now all gcc versions include 3.0 accepts the code. Can you give me some insight's what makes this program so PRBLEMATIC are this ANSI/ISO feature problems ? All compilers that produce errors find them in their own include files which confuses me. I thought that the problems should be located in the original source code. GCC 3.0 on Solaris for example: poohtmp/mak> g++ -Wall -c buffer.cpp In file included from /home/mdeil/bin/../include/g++-v3/bits/basic_file.h:250, from /home/mdeil/bin/../include/g++-v3/bits/std_fstream.h:41, from /home/mdeil/bin/../include/g++-v3/backward/fstream.h:32, from buffer.h:4, from buffer.cpp:25: /home/mdeil/bin/../include/g++-v3/sparc-sun-solaris2.7/bits/basic_file_model.h: In constructor `std::__basic_file<_CharT>::__basic_file(std::__c_lock*)': /home/mdeil/bin/../include/g++-v3/sparc-sun-solaris2.7/bits/basic_file_model.h:39: parse error before `;' token ............. ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Here my modification to get the code compile: buffer.cpp NOW includes: #include #include #include #include #include #include #include #include "common.h" #include "misc.h" #include "error.h" #include "buffer.h" using namespace std ; What was the problem ? Why are the original include lines wrong ??? buffer.cpp ORIGINAL includes: #include #include #include #include #include "common.h" ---> #include misc.h (no more includes) #include "buffer.h" ---> #include ---> #include ---> #include ---> #include "misc.h" (no more includes) ---> #include "error.h" (no more includes) Although I seem to have solved the problem I don't understand it ??????? >How-To-Repeat: simply type g++ -Wall -ansi buffer.cpp or buffer.cc >Fix: Don't use nested header files - but I don't know why :). >Release-Note: >Audit-Trail: >Unformatted: ----gnatsweb-attachment---- Content-Type: application/x-gzip; name="gcc-bug.tar.gz"; name="gcc-bug.tar.gz" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="gcc-bug.tar.gz" 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 GBAAhAAA