This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/18604] New: [3.4/4.0 Regression] Strong using lookup conflicts
- From: "giovannibajo at libero dot it" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 22 Nov 2004 05:02:13 -0000
- Subject: [Bug c++/18604] New: [3.4/4.0 Regression] Strong using lookup conflicts
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
The following code fails to compile on 3.4 and newer compilers:
-------------------------------------------------
#include <functional>
struct less : public std::less<int>
{};
#include <set>
-------------------------------------------------
$ g++-3.4 -c test.cc
In file included from /usr/lib/gcc/i686-pc-cygwin/3.4.0/include/c++/set:67,
from test.cc:6:
/usr/lib/gcc/i686-pc-cygwin/3.4.0/include/c++/bits/stl_set.h:69: error: `less' h
as not been declared
The problem appears related to strong using. This is a reduced, epurated
testcase:
-------------------------------------------------
namespace NB {}
namespace NA {
using namespace NB;
}
namespace NB {
using namespace NA __attribute__ ((strong));
struct Foo {};
}
struct Foo : NB::Foo
{};
namespace NA {
Foo a;
}
-------------------------------------------------
test.ii:17: error: `Foo' does not name a type
(note: I found this bug while cleaning up the testcase in PR 15855).
Jason: can you have a look at this please?
--
Summary: [3.4/4.0 Regression] Strong using lookup conflicts
Product: gcc
Version: 4.0.0
Status: UNCONFIRMED
Keywords: rejects-valid
Severity: normal
Priority: P2
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: giovannibajo at libero dot it
CC: gcc-bugs at gcc dot gnu dot org,jason at redhat dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18604