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

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




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