[Bug 8861] Revised patch - floating point literal mangling

Richard Earnshaw rearnsha@arm.com
Tue Jun 10 09:37:00 GMT 2003


> 
> After some discussion on the C++ ABI mailing list, the consensus seems
> to be that leading zeroes should *not* be stripped.  Also I've
> implemented compatibility with 3.3 under -fabi-version=1, and an -Wabi
> warning.
> 
> Bootstrapped i686-linux.  OK mainline?
> 
> The patch applies unmodified to the 3.3 branch.  I don't see any harm
> in providing forward-compatibility with -fabi-version>=2 on the
> branch, but if Mark would prefer I can instead simply add the warning.
> 
> zw
> 
>         PR 8861
>         * mangle.c (write_real_cst): New function.  Implement
>         ABI-compliant mangling of floating-point literals when
>         -fabi-version>=2; provide backward compatibility with 3.3 when
>         -fabi-version=1 (with warning).  Clarify commentary.
>         (write_template_arg_literal): Use write_real_cst.

This uses FLOAT_WORDS_BIG_ENDIAN, which on ARM is a function call.  Since 
mangle.c doens't include tm_p.h this causes a werror failure during 
bootstrapping.

Patch is trivial, but I don't have time to do a build-and-test today.

R.



More information about the Gcc-patches mailing list