Fw: [cxx-abi-dev] Decimal Floating Point mangling was(Fw: [cxx-abi-dev] C++0x: Mangling of rvalue reference type)s

Sean Perry perry at ca.ibm.com
Thu Aug 16 13:44:11 UTC 2007


I think we need both mangling.  We need the native type for the C
compatibility reasons Michael mentioned.  The native type will be
independent from the C++ class type.  We should define a mangling for the
C++ class types too.  This is similar to the complex types.  The ABI has Cx
for the C type and mangled forms beginning with St for the std::complex<>
classes.

--
Sean Perry
Compiler Development
IBM Canada Lab
(905)-413-6031 (tie 969-6031), fax (905)-413-4839



                                                                           
             Dennis Handly                                                 
             <dhandly at cup.hp.c                                             
             om>                                                        To 
                                       Michael Wong/Toronto/IBM at IBMCA      
             08/15/2007 08:50                                           cc 
             PM                        cxx-abi-dev at codesourcery.com,       
                                       premanand.rao at hp.com                
                                                                   Subject 
                                       Re:  Fw: [cxx-abi-dev] Decimal      
                                       Floating Point mangling was(Fw:     
                                       [cxx-abi-dev] C++0x: Mangling of    
                                       rvalue reference type)s             
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           




>From: Michael Wong <michaelw at ca.ibm.com>
>We introduce many C99 concepts too into the C++ ABI even though they are
not
>required from the C++ Std for similar reasons.

That's fine.  It just seems like we need this conversation documented.

>> And this form is mentioned:
>> ... the following catalog of abbreviations of the form "Sx" are used:

>This is to cover the case for vendors who actually wish to
>implement them as builtin types.

They can still mangled them as classes.

>From: Daveed Vandevoorde <daveed at edg.com>
>So I think Dennis is right: No special mangling code is needed here.
>If a C++ compiler has native support, it should just disguise that
>native support as a class type (from the ABI perspective, at least).

Well, the problem with a class type is the size.
We may want to use Sx to reduce the mangled string.

>From: Michael Wong <michaelw at ca.ibm.com>
>then we would need the mangling and settle it to be one or the other.

Yes.  But I wanted the rationale added to the ABI, why we didn't use
the class form, or the Sx abbreviation, or some other X?





More information about the cxx-abi-dev mailing list