"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.
As I understood this (that's a disclaimer), if you include the
"legacy" headers, i.e. <xxx.h>, you get the names in the global
namespace and it's only if you include the "new" headers, i.e. <xxx>,
that you need the std:: qualifier or a "using" declaration. Of course,
people may now be using the new headers without then using the std::
qualifier, since gcc 2.95.3 allows this. But they're wrong already :-)
(not that that ever stopped someone complaining).
Or have they abandoned the legacy headers altogether?
not sure about 3.1 - but in 3.2 you get stacks of warnings if you use legacy
headers... really big multi line ones so you cant possibly miss them.