[Bug c++/27795] New: optimizer produces faulty code
S dot Diederich at gmx dot de
gcc-bugzilla@gcc.gnu.org
Mon May 29 16:52:00 GMT 2006
The attached (simple) piece of code segfaults if compiled with (>=)-O2.
There are several possibilities to trigger the error.
1. Using the attached cpp, compile with -O2 ends in segfault when running the
app (-O{0,1} is fine)
2. If the cout in the last line is removed, everything seems to be fine
3. If line 16 is exchanged with line 15, everything is fine, too.
(tested on gentoo and SuSE)
Output of "g++ -v -save-temps -O2 compilerbugCPP.cpp -o compilerbug":
Using built-in specs.
Target: i586-suse-linux
Configured with: ../configure --enable-threads=posix --prefix=/usr
--with-local-prefix=/usr/local --infodir=/usr/share/info
--mandir=/usr/share/man --libdir=/usr/lib --libexecdir=/usr/lib
--enable-languages=c,c++,objc,fortran,java,ada --enable-checking=release
--with-gxx-include-dir=/usr/include/c++/4.1.0 --enable-ssp --disable-libssp
--enable-java-awt=gtk --enable-gtk-cairo --disable-libjava-multilib
--with-slibdir=/lib --with-system-zlib --enable-shared --enable-__cxa_atexit
--enable-libstdcxx-allocator=new --without-system-libunwind --with-cpu=generic
--host=i586-suse-linux
Thread model: posix
gcc version 4.1.0 (SUSE Linux)
/usr/lib/gcc/i586-suse-linux/4.1.0/cc1plus -E -quiet -v -D_GNU_SOURCE
compilerbugCPP.cpp -mtune=generic -O2 -fpch-preprocess -o compilerbugCPP.ii
#include "..." search starts here:
#include <...> search starts here:
/usr/include/c++/4.1.0
/usr/include/c++/4.1.0/i586-suse-linux
/usr/include/c++/4.1.0/backward
/usr/local/include
/usr/lib/gcc/i586-suse-linux/4.1.0/include
/usr/lib/gcc/i586-suse-linux/4.1.0/../../../../i586-suse-linux/include
/usr/include
End of search list.
/usr/lib/gcc/i586-suse-linux/4.1.0/cc1plus -fpreprocessed compilerbugCPP.ii
-quiet -dumpbase compilerbugCPP.cpp -mtune=generic -auxbase compilerbugCPP -O2
-version -o compilerbugCPP.s
GNU C++ version 4.1.0 (SUSE Linux) (i586-suse-linux)
compiled by GNU C version 4.1.0 (SUSE Linux).
GGC heuristics: --param ggc-min-expand=99 --param ggc-min-heapsize=129317
Compiler executable checksum: c877835e2478fb620b785c23d7318e1f
/usr/lib/gcc/i586-suse-linux/4.1.0/../../../../i586-suse-linux/bin/as -V -Qy
-o compilerbugCPP.o compilerbugCPP.s
GNU assembler version 2.16.91.0.5 (i586-suse-linux) using BFD version
2.16.91.0.5 20051219 (SUSE Linux)
/usr/lib/gcc/i586-suse-linux/4.1.0/collect2 --eh-frame-hdr -m elf_i386
-dynamic-linker /lib/ld-linux.so.2 -o compilerbug
/usr/lib/gcc/i586-suse-linux/4.1.0/../../../crt1.o
/usr/lib/gcc/i586-suse-linux/4.1.0/../../../crti.o
/usr/lib/gcc/i586-suse-linux/4.1.0/crtbegin.o
-L/usr/lib/gcc/i586-suse-linux/4.1.0 -L/usr/lib/gcc/i586-suse-linux/4.1.0
-L/usr/lib/gcc/i586-suse-linux/4.1.0/../../../../i586-suse-linux/lib
-L/usr/lib/gcc/i586-suse-linux/4.1.0/../../.. compilerbugCPP.o -lstdc++ -lm
-lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/i586-suse-linux/4.1.0/crtend.o
/usr/lib/gcc/i586-suse-linux/4.1.0/../../../crtn.o
--
Summary: optimizer produces faulty code
Product: gcc
Version: 4.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: S dot Diederich at gmx dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27795
More information about the Gcc-bugs
mailing list