This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/25642] New: optimizer bug: registers are clobbered but not restored
- From: "wouter at grep dot be" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 2 Jan 2006 19:22:19 -0000
- Subject: [Bug c++/25642] New: optimizer bug: registers are clobbered but not restored
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
Hi,
As explained in Debian bug#345574 (http://bugs.debian.org/345574), g++ fails to
build cppunit due to a test suite failure. Debugging this, I found that the
compiler produces code which assumes that no register inside the called
function will clobber any register.
As it turns out, that's an incorrect assumption.
wouter@jazz:~$ g++ --version
g++ (GCC) 4.0.3 20051201 (prerelease) (Debian 4.0.2-5)
Copyright (C) 2005 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
wouter@jazz:~$ g++ -v
Using built-in specs.
Target: m68k-linux-gnu
Configured with: ../src/configure -v
--enable-languages=c,c++,java,f95,objc,treelang --prefix=/usr --enable-shared
--with-system-zlib --libexecdir=/usr/lib --without-included-gettext
--enable-threads=posix --enable-nls --program-suffix=-4.0 --enable-__cxa_atexit
--enable-clocale=gnu --enable-libstdcxx-debug --enable-java-awt=gtk
--enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-4.0-1.4.2.0/jre
--enable-mpfr --disable-werror --enable-checking=release m68k-linux-gnu
Thread model: posix
gcc version 4.0.3 20051201 (prerelease) (Debian 4.0.2-5)
g++ -DHAVE_CONFIG_H -I. -I. -I../../config -I../../include -I../../include
-g3 -gdwarf-2 -O2 -MT XmlUniformiser.o -MD -MP -MF ".deps/XmlUniformiser.Tpo"
-c -o XmlUniformiser.o XmlUniformiser.cpp
--
Summary: optimizer bug: registers are clobbered but not restored
Product: gcc
Version: 4.0.3
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: wouter at grep dot be
GCC build triplet: m68k-linux-gnu
GCC host triplet: m68k-linux-gnu
GCC target triplet: m68k-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25642