This is the mail archive of the cygwin-apps@cygwin.com mailing list for the Cygwin 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: 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


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