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" 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. + . */ #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. + . */ #define SNAN_TESTS_TYPE_CAST 0 #include_next Grüße, Thomas