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

Michael Wong michaelw at ca.ibm.com
Wed Aug 15 14:35:13 UTC 2007


You are correct. It is not C interoperability. I followed the wrong line of
reasoning. The mangling is meant for C++ interoperability for those
compilers that wish to maintain interoperability with each other if they
wish to implement it as a native type. So if EDG (or HP) compilers wish to
read native DFP types generated by GNU compilers, similar to what IBM
compilers will do, then we would need the mangling and settle it to be one
or the other.



Michael Wong
XL C++ Compiler kernel Development
IBM Canada Ltd., C2/KD2/8200/MKM
8200 Warden Avenue
Markham, Ontario  L6G 1C7
W:905-413-3283 F:905-413-4839
Boost test results
http://www-1.ibm.com/support/docview.wss?rs=2239&context=SSJT9L&uid=swg27006911

C/C++ Compilers Support Page
http://www.ibm.com/software/awdtools/ccompilers/support/
C/C++ Feature Request Interface
http://www.ibm.com/support/docview.wss?uid=swg27005811
XL Fortran Compiler Support Page
http://www.ibm.com/software/awdtools/fortran/xlfortran/support/
XL Fortran Feature Request Interface
http://www.ibm.com/support/docview.wss?uid=swg27005812

Daveed Vandevoorde <daveed at edg.com> wrote on 08/15/2007 10:24:43 AM:

>
> On Aug 15, 2007, at 10:04 AM, Michael Wong wrote:
> [...]
> > This is the area where the C++ Std differs from the C std.
> > C++ Std has DFP as a class because of its preference and philosophy of
> > introducing new ideas as classes, not as a builtin type as required
> > by the
> > C Std. However, some C++ compilers will need to start to accept
> > many of
> > these mangling in their ABI inorder to maintain C interoperability. We
> > introduce many C99 concepts too into the C++ ABI even though they
> > are not
> > required from the C++ Std for simialr reasons.
> >>
> >> The later would just be encoded as length then name.
> >> Of course this can be handled as "5.1.7 Compression ...
> >> abbreviations for
> >> certain common names".
> >>
> >> And this form is mentioned:
> >> ... the following catalog of abbreviations of the form "Sx" are used:
> >>
> >> Or we just go with what Michael has and documented it well and
> >> point to
> >> the "right" way to do it next time??  (And who to blame.  ;-)
> > The library case will be mangled that way. But for C
> > interoperability it
> > won't work. This is to cover the case for vendors who actually wish to
> > implement them as builtin types.
> > (I would still be happy to accept the blame.)
>
>
> But C doesn't mangle.  So there is no interoperability issue there.
>
> Furthermore, the C++ class can be (and should be?) made
> representation-compatible with any native decimal floating-point type
> available on the platform.
>
> 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).
>
> No?
>
>    Daveed
>
>
>




More information about the cxx-abi-dev mailing list