This is the mail archive of the gcc-patches@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] |
On Mon, 2005-05-09 at 20:29 -0700, Mark Mitchell wrote:
Daniel Berlin wrote:
On Mon, 2005-05-09 at 22:15 -0400, Daniel Berlin wrote:
Whee. We pass the address of a derived class to the a call, then upcast it back to the base class, effectively giving you the structure which wasn't passed. You can't do something like this in C, luckily :).
Thus, we can only assume things about address of a structure field when their is not inheritance involved in the thing we are taking the address of. Thus, a TYPE_BINFO check is necessary on the thing whose address if being taken.
Every class type has TYPE_BINFO. So, you're not really checking for inheritance; you're just checking that it's a class.
So i guess i'm looking for BINFO_N_BASE_BINFOS != 0?
-- Mark Mitchell CodeSourcery, LLC mark@codesourcery.com (916) 791-8304
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |