This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/8861] [3.3/3.4 regression] [ABI] mangling floating point literal in template arg expression


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]