g++-3.0 gives an internal error when compiling this source code. Complete g++ output: -------------------- tuomas@zerox:/tmp/test$ g++-3.0 -v -save-temps test.cc Reading specs from /usr/lib/gcc-lib/i386-linux/3.0.4/specs Configured with: ../src/configure -v --enable-languages=c,c++,java,f77,proto,objc --prefix=/usr --infodir=/share/info --mandir=/share/man --enable-shared --with-gnu-as --with-gnu-ld --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --disable-checking --enable-threads=posix --enable-java-gc=boehm --with-cpp-install-dir=bin --enable-objc-gc i386-linux Thread model: posix gcc version 3.0.4 /usr/lib/gcc-lib/i386-linux/3.0.4/cpp0 -lang-c++ -D__GNUG__=3 -D__GXX_DEPRECATED -D__EXCEPTIONS -D__GXX_ABI_VERSION=100 -v -D__GNUC__=3 -D__GNUC_MINOR__=0 -D__GNUC_PATCHLEVEL__=4 -D__ELF__ -Dunix -Dlinux -D__ELF__ -D__unix__ -D__linux__ -D__unix -D__linux -Asystem=posix -D__NO_INLINE__ -D__STDC_HOSTED__=1 -D_GNU_SOURCE -Acpu=i386 -Amachine=i386 -Di386 -D__i386 -D__i386__ -D__tune_i386__ test.cc test.ii GNU CPP version 3.0.4 (cpplib) (i386 Linux/ELF) ignoring nonexistent directory "/usr/i386-linux/include" #include "..." search starts here: #include <...> search starts here: /usr/include/g++-v3 /usr/include/g++-v3/i386-linux /usr/include/g++-v3/backward /usr/local/include /usr/lib/gcc-lib/i386-linux/3.0.4/include /usr/include End of search list. /usr/lib/gcc-lib/i386-linux/3.0.4/cc1plus -fpreprocessed test.ii -quiet -dumpbase test.cc -version -o test.s GNU CPP version 3.0.4 (cpplib) (i386 Linux/ELF) GNU C++ version 3.0.4 (i386-linux) compiled by GNU C version 3.0.4. test.cc: In function `int main()': test.cc:10: Internal error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions. ---------------------- Release: gcc version 3.0.4 Environment: System: Linux zerox 2.4.17 #1 Tue Jan 15 03:24:21 EET 2002 i686 unknown Architecture: i686 (Plain Debian "Woody" installation on an AMD Athlon.) tuomas@zerox:/tmp/test$ g++-3.0 -v Reading specs from /usr/lib/gcc-lib/i386-linux/3.0.4/specs Configured with: ../src/configure -v --enable-languages=c,c++,java,f77,proto,objc --prefix=/usr --infodir=/share/info --mandir=/share/man --enable-shared --with-gnu-as --with-gnu-ld --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --disable-checking --enable-threads=posix --enable-java-gc=boehm --with-cpp-install-dir=bin --enable-objc-gc i386-linux Thread model: posix gcc version 3.0.4 How-To-Repeat: Here is the complete source code. --------------------------------- #include <string> using std::string; string get_string() { return "foo"; } int main(void) { int i=0; (i ? get_string() : throw); }
State-Changed-From-To: open->analyzed State-Changed-Why: Confirmed.
From: Wolfgang Bangerth <bangerth@ticam.utexas.edu> To: gcc-gnats@gcc.gnu.org Cc: Subject: Re: c++/7050 Date: Wed, 22 Jan 2003 20:57:56 -0600 (CST) This is a regression from 2.95, which is why I just adjusted the priority. ------------------------------------------------------------------------- Wolfgang Bangerth email: bangerth@ticam.utexas.edu www: http://www.ticam.utexas.edu/~bangerth/
Responsible-Changed-From-To: unassigned->jason Responsible-Changed-Why: shepherding a patch from Andrew Lewycky <andrew@mxc.ca>
From: jason@gcc.gnu.org To: gcc-gnats@gcc.gnu.org Cc: Subject: c++/7050 Date: 12 Mar 2003 22:24:48 -0000 CVSROOT: /cvs/gcc Module name: gcc Changes by: jason@gcc.gnu.org 2003-03-12 22:24:48 Modified files: gcc : ChangeLog expr.c gcc/cp : ChangeLog expr.c Log message: PR c++/7050 * expr.c (store_expr): Don't attempt to store void-typed trees, just evaluate them for side effects. * cp/expr.c (cxx_expand_expr): Return const0_rtx for throw expressions. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=1.17055&r2=1.17056 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/expr.c.diff?cvsroot=gcc&r1=1.511&r2=1.512 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&r1=1.3267&r2=1.3268 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/expr.c.diff?cvsroot=gcc&r1=1.71&r2=1.72
From: jason@gcc.gnu.org To: gcc-gnats@gcc.gnu.org Cc: Subject: c++/7050 Date: 12 Mar 2003 22:51:57 -0000 CVSROOT: /cvs/gcc Module name: gcc Branch: gcc-3_3-branch Changes by: jason@gcc.gnu.org 2003-03-12 22:51:57 Modified files: gcc : ChangeLog expr.c gcc/cp : ChangeLog expr.c Log message: PR c++/7050 * expr.c (store_expr): Don't attempt to store void-typed trees, just evaluate them for side effects. * cp/expr.c (cxx_expand_expr): Return const0_rtx for throw expressions. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.16114.2.292&r2=1.16114.2.293 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/expr.c.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.498.2.8&r2=1.498.2.9 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.3076.2.79&r2=1.3076.2.80 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/expr.c.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.66&r2=1.66.4.1
From: jason@gcc.gnu.org To: gcc-gnats@gcc.gnu.org Cc: Subject: c++/7050 Date: 12 Mar 2003 22:59:38 -0000 CVSROOT: /cvs/gcc Module name: gcc Branch: gcc-3_2-branch Changes by: jason@gcc.gnu.org 2003-03-12 22:59:37 Modified files: gcc : ChangeLog expr.c gcc/cp : ChangeLog expr.c Log message: PR c++/7050 * expr.c (store_expr): Don't attempt to store void-typed trees, just evaluate them for side effects. * cp/expr.c (cxx_expand_expr): Return const0_rtx for throw expressions. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_2-branch&r1=1.13152.2.657.2.256&r2=1.13152.2.657.2.257 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/expr.c.diff?cvsroot=gcc&only_with_tag=gcc-3_2-branch&r1=1.423.2.19.4.8&r2=1.423.2.19.4.9 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_2-branch&r1=1.2685.2.114.2.68&r2=1.2685.2.114.2.69 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/expr.c.diff?cvsroot=gcc&only_with_tag=gcc-3_2-branch&r1=1.63&r2=1.63.6.1
State-Changed-From-To: analyzed->closed State-Changed-Why: fix applied.
From: jason@gcc.gnu.org To: gcc-gnats@gcc.gnu.org Cc: Subject: c++/7050 Date: 21 Mar 2003 07:08:02 -0000 CVSROOT: /cvs/gcc Module name: gcc Changes by: jason@gcc.gnu.org 2003-03-21 07:08:02 Added files: gcc/testsuite/g++.dg/eh: cond1.C Log message: PR c++/7050 * expr.c (store_expr): Don't attempt to store void-typed trees, just evaluate them for side effects. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/eh/cond1.C.diff?cvsroot=gcc&r1=NONE&r2=1.1