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

Mark Mitchell mark at codesourcery.com
Fri Sep 24 04:00:17 UTC 2004


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 at codesourcery.com




More information about the cxx-abi-dev mailing list