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

Daveed Vandevoorde daveed at edg.com
Mon Aug 20 15:45:55 UTC 2007


On Aug 20, 2007, at 9:28 AM, Sean Perry wrote:

> Are you trying to say that the C++ class type shall be binary  
> compatible
> with the C native type?  That is going to fail immediately on  
> parameter
> passing and return values.


Most likely, indeed (though magical class types could be possible).

> And if we say that, then someone can throw a C
> native type and catch it as the C++ class type.  Similar odd behaviour
> would happen with dynamic casting.  The fact is that we have two  
> different
> types because C++ choose to implement decimal floating point as a  
> class.
> We need two different mangling schemes.


I still don't see why.  C signatures need no mangling.  In C++ it's a  
class type, so there is an encoding for that.

All there is left is vendor-specific "native C++" (i.e., nonstandard)  
cases, and for that the ABI already provides the "u <source-name>" code.

	Daveed




More information about the cxx-abi-dev mailing list