I tried to run the attached test case on IA64 native and interpreted. The bad
news is that both give totally different results:
Native:
[EMAIL PROTECTED]:~$ gcj-4.0 DoubleTest.java -o doubleTest --main=DoubleTest -g
[EMAIL PROTECTED]:~$ ./doubleTest
5.0E-324
Interpreted:
[EMAIL PROTECTED]:~$ gij-4.0 DoubleTest
8.881784197001252E-16
The interpreted case is wrong. This seems to be a bug in fdlibm as
jamvm/classpath has the same bug. This bug only happens on IA64 as far as I
know. E.g. it makes building GNU classpath fail with ecj. I wonder what GCJ
does that makes this work in the native case ...
--
Summary: Wrong parsing of doubles when interpreted
Product: gcc
Version: 4.0.3
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: libgcj
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: konqueror at gmx dot de
GCC build triplet: ia64-linux-gnu
GCC host triplet: ia64-linux-gnu
GCC target triplet: ia64-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26483