Typos in class-layout algorithm

Jim Dehnert dehnert at baalbek.engr.sgi.com
Wed Mar 22 00:16:21 UTC 2000


> From: Mark Mitchell <mark at codesourcery.com>
> 
> The "Non-Virtual-Base Allocation" section in the data layout document
> still contains a couple of typos:
> 
>   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-1, 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-1.
> 
> II-1 is now about bitfields.  Why not just say that you should use
> II-2 if the virtual base is non-empty, and II-3 if it is empty?

Because the virtual bases don't update nvsize and nvalign.
Otherwise, I've got your fixes (plus one).  Thanks.

>   The primary base class has already been allocated in I-3a.
> 
> That's now I-2b.

-	    Jim Dehnert		dehnert at sgi.com
				(650)933-4272




More information about the cxx-abi-dev mailing list