On Mon, 12 Nov 2007, chromatic via RT wrote: > On Monday 12 November 2007 12:33:41 Andy Dougherty wrote:
> > It may well be there's an issue with gcc's optimizer, since the problem > > goes away without optimization, but I think it's also fair to say that > > the definition of FLOAT_IS_ZERO in include/parrot/misc.h is > > perhaps not optimal here. I'd prefer the simpler definition: > > > > #define FLOAT_IS_ZER0(f) ((f) == 0.0) > For what it's worth (as the person who had to distill the existing abominable > macro definition and try to get it working portably), I now agree with Andy > here. As a further data point, changing that definition in include/parrot/misc.h fixed the following 18 test failures for me: Failed Test Stat Wstat Total Fail Failed List of Failed ------------------------------------------------------------------------------- t/compilers/imcc/imcpasm/opt1.t 5 1280 78 5 6.41% 42 48 54 59 74 t/op/arithmetics.t 3 768 26 3 11.54% 22-24 t/op/number.t 1 256 57 1 1.75% 10 t/pmc/boolean.t 1 256 8 1 12.50% 2 t/pmc/complex.t 5 1280 53 5 9.43% 10-11 36 38 41 t/pmc/float.t 2 512 42 2 4.76% 6 12 t/pmc/string.t 1 256 47 1 2.13% 16 -- Andy Dougherty [EMAIL PROTECTED]