consider the following code snippet
-------- nan.cc -------
#include <iostream>
int main() {
double x = 0.55555555555555558023;
std::cout << x << " ";
std::cout << x << " ";
std::cout << std::endl;
return 0;
}
-------- nan.cc -------
> g++-4.0-20041226 -v
Using built-in specs.
Configured with: ../gcc-4.0-20041226/configure --prefix=/opt/gcc-4.0-20041226
--enable-shared --enable-languages=c,c++ --enable-threads=posix
--enable-__cxa_atexit --enable-clocale=gnu --disable-nls
--program-suffix=-4.0-20041226 --with-arch=pentium3 --disable-checking
Thread model: posix
gcc version 4.0.0 20041226 (experimental)
> g++-4.0-20041226 nan.cc
> ldd a.out
libstdc++.so.6 => /opt/gcc-4.0-20041226/lib/libstdc++.so.6 (0x40017000)
libm.so.6 => /lib/libm.so.6 (0x400fc000)
libgcc_s.so.1 => /opt/gcc-4.0-20041226/lib/libgcc_s.so.1 (0x4011f000)
libc.so.6 => /lib/libc.so.6 (0x40129000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
> ./a.out
0.555556 nan
well this nan shouldn't be there
> g++-4.0-20041226 nan.cc -static
> ./a.out
0.555556 0.555556
> g++-4.0-20041212 -v
Reading specs from /opt/gcc-4.0-20041212/lib/gcc/i686-pc-linux-gnu/4.0.0/specs
Configured with: ../gcc-4.0-20041212/configure --prefix=/opt/gcc-4.0-20041212
--enable-shared --enable-languages=c,c++ --enable-threads=posix
--enable-__cxa_atexit --enable-clocale=gnu --disable-nls
--program-suffix=-4.0-20041212 --with-arch=pentium3 --disable-checking
Thread model: posix
gcc version 4.0.0 20041212 (experimental)
> g++-4.0-20041212 nan.cc
> ldd ./a.out
libstdc++.so.6 => /opt/gcc-4.0-20041212/lib/libstdc++.so.6 (0x40017000)
libm.so.6 => /lib/libm.so.6 (0x400fb000)
libgcc_s.so.1 => /opt/gcc-4.0-20041212/lib/libgcc_s.so.1 (0x4011e000)
libc.so.6 => /lib/libc.so.6 (0x40128000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
> ./a.out
0.555556 0.555556
g++-4.0-20041212 doesn't have this problem
--
Summary: wrong code regression or library problem in gcc-4.0-
20041226
Product: gcc
Version: 4.0.0
Status: UNCONFIRMED
Severity: critical
Priority: P2
Component: regression
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: andre dot maute at gmx dot de
CC: gcc-bugs at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19174