This is the mail archive of the
cygwin-apps@cygwin.com
mailing list for the Cygwin project.
Re: mingw and other gotchas in gcc 3.1
Hi!
Monday, 24 June, 2002 Conrad Scott Conrad.Scott@dsl.pipex.com wrote:
CS> "egor duda" <deo@logos-m.ru> 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:deo@logos-m.ru ICQ 5165414 FidoNet 2:5020/496.19