[cxx-abi-dev] C++0x POD
Mark Mitchell
mark at codesourcery.com
Wed Jul 15 17:44:49 UTC 2009
Gabriel Dos Reis wrote:
>> I think we want to preserve ABI compatibility, even if that's suboptimal
>> for performance in some way. The ABI already has a definition of "POD
>> for purpose of layout"; we should check that it still means what it
>> defines the same set of types that it did before. And, check that
>> POD-ness doesn't appear elsewhere in the ABI. (I couldn't find any
>> other places with a quick check.)
>
> One of the purposes of the change is to have simple classes like
> complex<double> acts like PODs for argument function calls (e.g. use
> registers.) but without compromising guarantees made by C++03.
So, are you suggesting we *should* change the ABI, and thereby break
binary compatibility for existing programs?
If so, I disagree. One of the biggest barriers to adoption of C++
continues to be binary compatibility between different compilers and
between releases of compilers. If compiling programs that don't use
C++0x features, or use C++0x features that don't require ABI changes,
result in incompatible binaries, I think that would be unfortunate.
--
Mark Mitchell
CodeSourcery
mark at codesourcery.com
(650) 331-3385 x713
More information about the cxx-abi-dev
mailing list