Hi! Monday, 24 June, 2002 Conrad Scott [EMAIL PROTECTED] wrote:
CS> "egor duda" <[EMAIL PROTECTED]> wrote: >> Btw, libstdc++ in gcc 3.* is configured so that classes in std:: >> namespace are not visible unless one specify std:: via 'using' or >> explicitly. I feel this can be the problem that will make most >> noise. >> Cygwin setup is just one example of program affected. I have a patch >> that should work with both 2.95.3 and 3.*, and can post it if you're >> interested. CS> As I understood this (that's a disclaimer), if you include the CS> "legacy" headers, i.e. <xxx.h>, you get the names in the global CS> namespace and it's only if you include the "new" headers, i.e. <xxx>, CS> that you need the std:: qualifier or a "using" declaration. Of course, CS> people may now be using the new headers without then using the std:: CS> qualifier, since gcc 2.95.3 allows this. But they're wrong already :-) CS> (not that that ever stopped someone complaining). CS> Or have they abandoned the legacy headers altogether? No. But <iosfwd> and <string> and bunch of others are present in both old and new g++ headers. So, program like setup.exe which contain #include <iosfwd> and then 'ostream ostr;' would compile no more until someone changes 'ostream ostr;' to 'std::ostream ostr;' Egor. mailto:[EMAIL PROTECTED] ICQ 5165414 FidoNet 2:5020/496.19