This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/22066] New: :: can access default/anon namespace instead of just global namespace
- From: "t8 at pobox dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 14 Jun 2005 19:22:48 -0000
- Subject: [Bug c++/22066] New: :: can access default/anon namespace instead of just global namespace
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
Not positive this is a bug, but I think so.
This code compiles and prints 0:
#include <iostream>
namespace {
int i = 0;
}
int main(int argc, char** argv)
{
std::cout << "i=" << ::i << std::endl;
return 0;
}
I'd expect it to complain that i isn't in the global namespace
(since it is in the anon/default one).
Removing the :: prefix from i also works, as it should.
Apparently, the MS VC++ .NET (a later version, not sure which)
does complain (though that doesn't necessarily mean much in itself).
Thanks.
PS: This is using the Redhat built/distrubuted:
g++ (GCC) 3.4.3 20050227 (Red Hat 3.4.3-22.fc3)
on Fedora core 3.
--
Summary: :: can access default/anon namespace instead of just
global namespace
Product: gcc
Version: 3.4.3
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: t8 at pobox dot com
CC: gcc-bugs at gcc dot gnu dot org
GCC host triplet: i386 GNU/Linux
GCC target triplet: i386 GNU/Linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22066