Actions

icon Post
text/html Subscribe
text/html Unsubscribe

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Non-POD Class Type Layout Change


  • To: cxx-abi-dev@xxxxxxxxxxxxxxxx
  • Subject: Non-POD Class Type Layout Change
  • From: Jeffrey Oldham <oldham@xxxxxxxxxxxxxxxx>
  • Date: Tue, 19 Nov 2002 10:45:06 -0800

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@xxxxxxxxxxxxxxxx