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]

Re: C++ PATCH: Old ABI compatibility



  According to Mark Mitchell:
  > >>>>> "Chip" == Chip Salzenberg <chip@valinux.com> writes:
  >     Chip> True, BUT: Is it at least safe to assume that single,
  >     Chip> non-virtual inheritance results in no deltas?
  > 
  > No.  That's true in all the ABI's I know of, but I don't think
  > anything in the standard guarantees this [...]

  I seem to recall an ANSI C requirement that:
     (void*)(&struct) == (void*)(&struct.first_member)
  In other words,
     OFFSETOF(struct, first_member) == 0

  Could that be parlayed into a single-inheritance delta requirement?

Nope.  And Jason's more careful reading of your question yields an
immediate counter-example in the IA64 ABI.  (I construed your question
to be about almost-PODs, i.e., PODs with single inheritance.)

--
Mark Mitchell                   mark@codesourcery.com
CodeSourcery, LLC               http://www.codesourcery.com

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