This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ 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]

Re: namespace issues with old C headers


Joe Buck <jbuck at synopsys dot com> writes:

| On Tue, Apr 15, 2003 at 09:11:30AM -0700, Joe Buck wrote:
| > On Tue, Apr 15, 2003 at 09:57:52AM +0200, Gabriel Dos Reis wrote:
| > > Joe Buck <jbuck at synopsys dot com> writes:
| > > 
| > > | On Sat, Apr 12, 2003 at 08:47:21PM +0200, Gabriel Dos Reis wrote:
| > > | > The standard isn't silent: It explicitly says that a standard header
| > > | > can include another standard header.
| > > | 
| > > | And this leads to accidental portability problems. 
| > > 
| > > Yes, and the following is *known* not to be portable: 
| > > 
| > >   #include <iostream>
| > >   
| > >    int main()
| > >    {
| > >       std::cout << "Hello World\n";
| > >    }
| > > 
| > > No need of assert() to demonstrate the problem.
| > 
| > Sigh.  If you wish to pedantically dismiss something that has been a
| > huge productivity problem, fine.  (any real program is going to
| > use its arguments, so dinging me for not including them in a quickly
| > typed example is just bogus).
| 
| I apologize for the parenthetical remark: your example is not taken from
| what I wrote.  Still, the dropping-the-arguments portability bug only
| affects short programs.

I've seen larger programs fail because they made unsopken arguments.

This is a thorny issue and I would really appreciate people think about it
before saying I'm playing a pedantic game.  It is -not- a pedantic game.
C++ is much trickier than C.

-- Gaby


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