------- Comment #3 from rguenth at gcc dot gnu dot org 2009-04-21 10:18 ------- Confirmed.
static const double internalEndianMagic = 7.949928895127363e-275; static const unsigned char ieee_754_mantissa_mask[] = { 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }; static inline int trio_isnan (double number) { int has_mantissa = 0; unsigned int i; unsigned char current; for (i = 0; i < (unsigned int)sizeof(double); i++) { current = ((unsigned char *)&number)[(((unsigned char *)&internalEndianMagic)[7-(i)])]; has_mantissa |= (current & ieee_754_mantissa_mask[i]); } return has_mantissa; } void xmlXPathEqualNodeSetFloat(int nodeNr, double v) { int i; for (i=0; i<nodeNr; i++) if (!trio_isnan(v)) break; } -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Known to work| |4.4.0 Last reconfirmed|0000-00-00 00:00:00 |2009-04-21 10:18:27 date| | Summary|ice in fold-const.c |[4.5 Regression] ice in | |fold-const.c Target Milestone|--- |4.5.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39824