namespace issues with old C headers

Joe Buck jbuck@synopsys.com
Tue Apr 15 16:12:00 GMT 2003


On Tue, Apr 15, 2003 at 09:57:52AM +0200, Gabriel Dos Reis wrote:
> Joe Buck <jbuck@synopsys.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).

Failure to include <assert.h> when using assert() has broken dozens
of nightly builds in our group.  It would be nice to have some
solution for issues like this.

I respect your expertise, but some of us need to get work done.




More information about the Libstdc++ mailing list