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