Re: [xml] format-number fails on large numbers (> 4294967295)



On Tue, Sep 04, 2001 at 02:58:10PM -0500, Chris_Poblete Dell com wrote:
   In function xmlXPathStringEvalNumber, it was noted that the tmp buffer is
used to get around gcc compiler bug.  Using gcc 2.96 and Linux 7.2SBE kernel
2.4.3-6smp, I tested the same function that does not use the tmp buffer
(i.e.. store the value directly to the variable ret) and it works fine with
numbers greater than 1.0e+24 as input.

  This bug:
    - was not raised on trivial examples (but on large DocBook like
      processing)
    - took me nearly a day to pinpoint and solve, because --like most
      compiler/hardware bugs-- it can be extremely hard to expose and
      find the fix

I will not remove this just because you didn't found the problem
on trivial case.
I did however change the code in CVS to use

#ifdef __GNUC__
#else
#endif

a few weeks ago on your previous feedback.

Since you don't seems to believe me I have logged that bug when found
on RedHat bugzilla system, you will be able to see the GDB sequence exposing
the problem, the assembly generated too with and without the optimizer flags
exposing the problem. Please don't suggest to remove the current code without
coming with a workaround or explanation of the problem seen:
    http://veillard.com/gcc.bug
   
   thanks,

Daniel

-- 
Daniel Veillard      | Red Hat Network http://redhat.com/products/network/
veillard redhat com  | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]