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]

Re: [PATCH]: Fix PR tree-optimization/21407


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.


Where do we put execute test cases for C++?  There is no g
++.torture/execute or anything of the sort, and I don't see any.

g++.dg


--
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]