> On Apr 24, 2014, at 2:52 PM, Richard Smith <[email protected]> wrote:
> 2.4/II/3 says:
> 
> "If D is an empty proper base class: [...potentially misalign the D base 
> class...] Note that nvalign(D) is 1, so no update of align(C) is needed."
> 
> This is not true.
> 
> struct A {};
> struct B : A { char c; };
> struct alignas(4) D : A {};
> struct C : B, D {};
> 
> This puts a D object at offset 1 within C, and gives C nvalign of 1, which is 
> obviously not right. Fortunately, GCC, Clang, and EDG all deviate from the 
> ABI and instead do the natural thing here (put it at offset zero if you can, 
> and otherwise allocate it like any other subobject). Looks like the wording 
> only needs a little massaging here to say the right thing.

Catching up on my queue, and I found this very old email.  Would you mind 
proposing an exact wording change?

John.
_______________________________________________
cxx-abi-dev mailing list
[email protected]
http://sourcerytools.com/cgi-bin/mailman/listinfo/cxx-abi-dev

Reply via email to