This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/8861] [3.3/3.4 regression] [ABI] mangling floating point literal in template arg expression
- From: "rearnsha at arm dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 10 Jun 2003 09:22:30 -0000
- Subject: [Bug c++/8861] [3.3/3.4 regression] [ABI] mangling floating point literal in template arg expression
- References: <20021207125600.8861.catherin@ca.ibm.com>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=8861
------- Additional Comments From rearnsha@arm.com 2003-06-10 09:22 -------
Subject: Re: Revised patch - floating point literal mangling
>
> 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.