This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: C++: INHERITED_VALUE_BINDING_P
Mark Mitchell <mark@codesourcery.com> writes:
| > | In particular, this code:
| > |
| > | struct A {
| > | struct B {};
| > | };
| > |
| > | struct C : public A {
| > | void B();
| > | };
| > |
| > | struct C::B b;
| > |
| > | is legal.
| >
| > I do not believe the program is well-formed for the reasons explained
| > in 10.2/2
|
| Neither G++ nor the EDG front end agree with you.
Well, I'm questioning G++ behaviour and I do not believe it is right.
As of EDG behaviour, I think it is wrong as well and we can discuss
that with them.
| Both consider the tag-type and ordinary namespaces separately; a
| declaration hides only those entities from base classes that are of the
| same kind.
How can that be derived from the standard text? I can not see where.
However, there are explicit wordings to the contrary.
| I can't say definitively whether that's correct or not, but before we
| change G++ we should have an opinion from the commitee.
Sure.
-- Gaby