From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6846 invoked by alias); 29 May 2006 16:52:46 -0000 Received: (qmail 6806 invoked by uid 48); 29 May 2006 16:52:37 -0000 Date: Mon, 29 May 2006 16:52:00 -0000 Subject: [Bug c++/27795] New: optimizer produces faulty code X-Bugzilla-Reason: CC Message-ID: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "S dot Diederich at gmx dot de" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2006-05/txt/msg02960.txt.bz2 List-Id: 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