C++: INHERITED_VALUE_BINDING_P
Mark Mitchell
mark@codesourcery.com
Mon Oct 27 01:44:00 GMT 2003
On Thu, 2003-10-23 at 06:09, Gabriel Dos Reis wrote:
> Hi,
>
> In the C++ front-end, the macro INHERITED_VALUE_BINDING_P is used to
> distinguish a class-scope declaration that is inherited (from a base
> class) from regular ones. I believe that is a carry-over from old ARM
> scope rules. I think we could safely get rid of it because standard
> scope notions make no room for the idea of inherited declaration:
> Instead, each base class retains its scope and declarations in derived
> class hide declarations in base classes.
IIRC, this is not quite true. In particular, this code:
struct A {
struct B {};
};
struct C : public A {
void B();
};
struct C::B b;
is legal. That's the case where INHERITED_VALUE_BINDING_P is used, I
think.
--
Mark Mitchell <mark@codesourcery.com>
CodeSourcery, LLC
More information about the Gcc
mailing list