This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC 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: 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


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