This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/30013] Multiple flaws in decimal floating-point arithmetic conversions fixed
- From: "janis at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 11 Sep 2007 01:11:30 -0000
- Subject: [Bug c/30013] Multiple flaws in decimal floating-point arithmetic conversions fixed
- References: <bug-30013-611@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #6 from janis at gcc dot gnu dot org 2007-09-11 01:11 -------
Subject: Bug 30013
Author: janis
Date: Tue Sep 11 01:11:16 2007
New Revision: 128361
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=128361
Log:
gcc/
PR c/30013
* config/dfp-bit.c: Don't skip TFmode conversions; move strto*
declarations to top.
(DFP_TO_BFP): Use for either XFmode or TFmode.
(BFP_TO_DFP): Use for either XFmode or TFmode; always use cast
of BFP_VIA_TYPE.
* config/dfp-bit.h: Include float.h.
(LONG_DOUBLE_HAS_XF_MODE, LONG_DOUBLE_HAS_TF_MODE): Define if long
double is one of these modes, rather than using LIBGCC_HAS_*F_MODE
which doesn't mean the same thing.
(BFP_KIND): Use 4 to mean TFmode.
(BFP_FMT): Specify the number of decimal digits based on the
number of mantissa digits.
(BFP_VIA_TYPE): Binary float type to use as cast for sprintf.
(BFP_TO_DFP, DFP_TO_BFP): Define names for TFmode variants.
(STR_TO_BFP): Use strtold for XFmode or TFmode.
(TFtype): Define if TFmode is supported.
* doc/libgcc.texi (Decimal float library routines): Document
TF conversion functions.
gcc/testsuite/
* gcc.dg/dfp/convert-bfp.c: Replace SKIP_LONG_DOUBLE with runtime
checks for size of long double.
* gcc.dg/dfp/convert.h: New file.
* gcc.dg/dfp/convert-bfp-2.c: New test.
* gcc.dg/dfp/convert-bfp-3.c: Ditto.
* gcc.dg/dfp/convert-bfp-4.c: Ditto.
* gcc.dg/dfp/convert-bfp-5.c: Ditto.
* gcc.dg/dfp/convert-bfp-6.c: Ditto.
* gcc.dg/dfp/convert-bfp-7.c: Ditto.
* gcc.dg/dfp/convert-bfp-8.c: Ditto.
* gcc.dg/dfp/convert-bfp-9.c: Ditto.
* gcc.dg/dfp/convert-bfp-10.c: Ditto.
* gcc.dg/dfp/convert-bfp-11.c: Ditto.
Added:
trunk/gcc/testsuite/gcc.dg/dfp/convert-bfp-10.c
trunk/gcc/testsuite/gcc.dg/dfp/convert-bfp-11.c
trunk/gcc/testsuite/gcc.dg/dfp/convert-bfp-2.c
trunk/gcc/testsuite/gcc.dg/dfp/convert-bfp-3.c
trunk/gcc/testsuite/gcc.dg/dfp/convert-bfp-4.c
trunk/gcc/testsuite/gcc.dg/dfp/convert-bfp-5.c
trunk/gcc/testsuite/gcc.dg/dfp/convert-bfp-6.c
trunk/gcc/testsuite/gcc.dg/dfp/convert-bfp-7.c
trunk/gcc/testsuite/gcc.dg/dfp/convert-bfp-8.c
trunk/gcc/testsuite/gcc.dg/dfp/convert-bfp-9.c
trunk/gcc/testsuite/gcc.dg/dfp/convert.h
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/dfp-bit.c
trunk/gcc/config/dfp-bit.h
trunk/gcc/doc/libgcc.texi
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/dfp/convert-bfp.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30013