This is the mail archive of the 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]

Re: MPFR 2.3.1 Release Candidate

On 2007-12-31 14:38:21 -0500, Kaveh R. GHAZI wrote:
> I read through the bugs in 2.3.0 from the above link.  I'm trying to see
> if I can write a GCC testcase that exposes one of those bugs when GCC is
> linked with mpfr-2.3.0, but passes when I use 2.3.1-rc1.
> The bug would need to be exposed using a mantissa size of a C type, like
> 53 for double, and the default exponent range.  And all the global mpfr
> flags are cleared beforehand,

Are they cleared before each call to MPFR functions?

> and the input precision is the same as the output precision. These
> circumstances seem to eliminate many (all?) of the potential
> failures.

The fact that the input precision is the same as the output precision
will also eliminate some bugs.

> I tried several things through gcc+mpfr-2.3.0 like asin(-0.0), but
> that folds to -0.0 correctly.

Perhaps because the same variable is used for the input and output?

> I tried a call to sqrt(2.0) with -frounding-math. But the inexact
> flag is apparently set and gcc appropriately does not fold this
> case, instead replying on the library call to get the rounding
> correct.

The ternary value was correct, and I suppose that GCC tests the
ternary value instead of the global inexact flag (this is what one
does in general).

> Often the bug says it will fail on "huge" inputs, but doesn't say
> exactly what they are.

Most of the time, testcases were included in the changesets (not
in 53 bits, but in general, this shouldn't matter). You may want
to look at them.

Vincent Lefèvre <> - Web: <>
100% accessible validated (X)HTML - Blog: <>
Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)

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