This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/39036] Decimal floating-point exception flags done wrong
- From: "joseph at codesourcery dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 30 Jan 2009 23:14:10 -0000
- Subject: [Bug c/39036] Decimal floating-point exception flags done wrong
- References: <bug-39036-17245@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #6 from joseph at codesourcery dot com 2009-01-30 23:14 -------
Subject: Re: Decimal floating-point exception flags done wrong
On Fri, 30 Jan 2009, tydeman at tybor dot com wrote:
> I consider emulation of decimal FP to be part of the compiler's job. Part of
> that emulation is setting the FP execption flags as per IEEE-754-2008.
The implementation of decimal FP for the GNU system is partly in GCC and
partly in (E)GLIBC (available as patches or an EGLIBC branch). The
implementation approach chosen is that the versions of the
arithmetic/conversion functions that handle exceptions and rounding modes
are included only in the libdfp included with (E)GLIBC, not in libgcc.
(Depending on the target, copies of libm functions to handle exceptions
and rounding modes may need including in libdfp to avoid a dependency on
libm, and this can only be done as part of the libc/libm/libdfp
implementation.)
So, if you want exceptions and rounding modes support for decimal FP, use
an appropriate libc version and link against the associated libdfp.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39036