This is the mail archive of the libc-ports@sources.redhat.com mailing list for the libc-ports 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: [attention machine maintainers] [PATCH] <math.h> issignaling


Hi!

On Thu, 28 Mar 2013 13:16:31 +0100, I wrote:
> I plan to shortly "move" this patch (as present in the
> tschwinge/issignaling branch) into master with the following changes
> merged in, unless there are any further comments at this point.

Yesterday pushed as commit 572676160d5639edc0ecb663147bd291841458d1.

> On Tue, 26 Mar 2013 17:33:46 +0000, "Joseph S. Myers" <joseph@codesourcery.com> wrote:
> > On Fri, 22 Mar 2013, Thomas Schwinge wrote:
> > 
> > > PowerPC -m64:
> > > 
> > > math/basic-test.out:
> > >     Failure:  double x = (double) (long double) sNaN, !issignaling
> > > 
> > > That is, this type cast -- which is a IEEE 754-2008 general-computational
> > > convertFormat operation (IEEE 754-2008, 5.4.2) -- does not turn the sNaN
> > > into a qNaN (whilst raising an INVALID exception; not checked here),
> > > which is contrary to IEEE 754-2008 5.1 and 7.2.  This I consider a
> > > compiler issue (powerpc-linux-gnu-gcc (Sourcery CodeBench 2012.09-92)
> > > 4.7.2).
> > 
> > Such a bug (assuming present in GCC trunk for 4.9) should be filed in GCC 
> > Bugzilla (and I suppose a new math-tests.h macro used to disable the test 
> > in question for older compilers).  Though I guess it might only be desired 
> > to change this for -fsignaling-nans.
> 
> I will [...] file in GCC Bugzilla, add its PR number to the
> math_tests.h comment (also for the 32-bit x86 issue discussed before):

Now both filed.  Just pushed as commit
74d87055bfeb31ea37bc2356d88c065c612e1c0e:

	* sysdeps/i386/fpu/math-tests.h (SNAN_TESTS_float)
	(SNAN_TESTS_double): Refer to GCC PR56831.
	* sysdeps/powerpc/math-tests.h (SNAN_TESTS_TYPE_CAST): Refer to
	GCC PR56828.

diff --git sysdeps/i386/fpu/math-tests.h sysdeps/i386/fpu/math-tests.h
index 00c5f6c..2245fc9 100644
--- sysdeps/i386/fpu/math-tests.h
+++ sysdeps/i386/fpu/math-tests.h
@@ -19,7 +19,8 @@
 /* On 32-bit x86, versions of GCC up to at least 4.8 are happy to use FPU load
    instructions for sNaN values, and loading a float or double sNaN value will
    already raise an INVALID exception as well as turn the sNaN into a qNaN,
-   rendering certain tests infeasible in this scenario.  */
+   rendering certain tests infeasible in this scenario.
+   <http://gcc.gnu.org/PR56831>.  */
 #define SNAN_TESTS_float	0
 #define SNAN_TESTS_double	0
 
diff --git sysdeps/powerpc/math-tests.h sysdeps/powerpc/math-tests.h
index 0f09610..d87dc9a 100644
--- sysdeps/powerpc/math-tests.h
+++ sysdeps/powerpc/math-tests.h
@@ -20,7 +20,8 @@
    a IEEE 754-2008 general-computational convertFormat operation (IEEE
    754-2008, 5.4.2) -- does not turn a sNaN into a qNaN (whilst raising an
    INVALID exception), which is contrary to IEEE 754-2008 5.1 and 7.2.  This
-   renders certain tests infeasible in this scenario.  */
+   renders certain tests infeasible in this scenario.
+   <http://gcc.gnu.org/PR56828>.  */
 #define SNAN_TESTS_TYPE_CAST	0
 
 #include_next <math-tests.h>


GrÃÃe,
 Thomas

Attachment: pgpFr6sJQO1cy.pgp
Description: PGP signature


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