[cxx-abi-dev] C++0x POD

Jason Merrill jason at redhat.com
Wed Jul 15 21:21:38 UTC 2009


I'm trying to find the requirement in the standard referred to by 
"Because the C++ standard requires that compilers not overlay the tail 
padding in a POD, using the C++98 definition in this ABI would prevent a 
conforming compiler from correctly implementing the TC1 version of the 
C++ standard. Therefore, this ABI uses the TC1 definition of POD." to 
see if the current draft has the same issue.

But all I'm finding is:

   For any POD type T, if two pointers to T point to distinct T objects 
obj1 and obj2, where neither obj1 nor obj2 is a base-class subobject, if 
the value of obj1 is copied into obj2, using the std::memcpy library 
function, obj2 shall subsequently hold the same value as obj1.

It seems that the "where neither is a base-class subobject" means that 
this doesn't actually impose any requirements on tail padding?

Jason



More information about the cxx-abi-dev mailing list