emitting vtables (was rtti data layout notes)
Jim Dehnert
dehnert at baalbek.engr.sgi.com
Wed Feb 2 07:12:37 UTC 2000
One more response from the meeting:
> Date: Mon, 24 Jan 2000 10:17:28 +0000
> From: Nathan Sidwell <sidwell at codesourcery.com>
>
> 2) place of emission of vtables.
> The vtables for the type_info derrived classes must be in the runtime.
> Other translation units must not emit vtables. Rationale: the runtime
> will expect certain implementation defined virtual member functions
> for these classes. A foreign translation unit must not override the
> runtime's vtable.
The perspective from the meeting was why not? That is, if the class
has a virtual function, either (a) the user deriving from it needs to
override the vfunc for some reason and should be able to, or (b) the
user shouldn't override it because it's not appropriate, and is
responsible for avoiding the problem. This stuff is in the
implementation name space, so it shouldn't be happening by accident.
Let the user beware if he trespasses...
Jim
- Jim Dehnert dehnert at sgi.com
(650)933-4272
More information about the cxx-abi-dev
mailing list