Non-POD Class Type Layout Change

Jeffrey Oldham oldham at codesourcery.com
Tue Nov 19 18:45:06 UTC 2002


The class layout specification accidentally inverted two references.
When laying out virtual bases, refer to the proper previous section.

Presumably, all implementations already correctly implement the
specification as revised.  g++ apparently does.

Index: abi.html
===================================================================
RCS file: /usr/local/Repository/cxx-abi/abi.html,v
retrieving revision 1.48
diff -c -p -r1.48 abi.html
*** abi.html	18 Nov 2002 16:44:15 -0000	1.48
--- abi.html	19 Nov 2002 18:10:09 -0000
*************** follows:
*** 851,857 ****
  Finally allocate any direct or indirect virtual base classes
  (except the primary base class or any indirect primary base classes)
  as we did non-virtual base classes
! in step II-2 (if empty) or II-3 (if non-empty),
  in inheritance graph order.
  Update sizeof(C) to max (sizeof(C), offset(D)+nvsize(D)).
  If non-empty, also update align(C) and dsize(C) as in II-2.
--- 851,857 ----
  Finally allocate any direct or indirect virtual base classes
  (except the primary base class or any indirect primary base classes)
  as we did non-virtual base classes
! in step II-2 (if not empty) or II-3 (if empty),
  in inheritance graph order.
  Update sizeof(C) to max (sizeof(C), offset(D)+nvsize(D)).
  If non-empty, also update align(C) and dsize(C) as in II-2.

Thanks,
Jeffrey D. Oldham
oldham at codesourcery.com



More information about the cxx-abi-dev mailing list