Re: [cxx-abi-dev] What is a POD? TC1 or first C++ Standard
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [cxx-abi-dev] What is a POD? TC1 or first C++ Standard



Dennis Handly wrote:

We just noticed that the definition of a POD has change in TC1.
The Original Standard disallowed pointers to members in PODs.
Ugh. I knew about that, but I hadn't thought to think about how it affects the ABI.

G++ 3.3 and 3.4 use the TC1 POD definition, so from the GNU point of view, that's what we'd want. GCC is not going to change back to the pre-TC1 defintion, even for return values, in any GCC 4.0, since that would break compatibility with 3.4. We probably wouldn't change back to the pre-TC1 definition in any release until we had a compelling need to break the ABI for something else, even if the ABI were clarified to require the TC-1 definition.

Does the ABI need to say which Standard is implemented?
Definitely.

Should it say that PODs are the original definition so that binary
compatibility is maintained?
I dunno. Is there anyone out there shipping compilers with the pre-TC1 definition for the return value? What does aCC do?

--
Mark Mitchell
CodeSourcery, LLC
(916) 791-8304
mark@xxxxxxxxxxxxxxxx