This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
c++/8461: internal compiler error stabilize_throw_expr
- From: rassahah at neofonie dot de
- To: gcc-gnats at gcc dot gnu dot org
- Date: 5 Nov 2002 11:58:32 -0000
- Subject: c++/8461: internal compiler error stabilize_throw_expr
- Reply-to: rassahah at neofonie dot de
>Number: 8461
>Category: c++
>Synopsis: internal compiler error stabilize_throw_expr
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: ice-on-legal-code
>Submitter-Id: net
>Arrival-Date: Tue Nov 05 04:06:01 PST 2002
>Closed-Date:
>Last-Modified:
>Originator: rassahah@neofonie.de
>Release: gcc-3.3 cvs of 5-Nov-2002
>Organization:
>Environment:
i686-pc-linux-gnu
gcc-3.3 compiled with gcc-3.2 and itself
>Description:
compiler error on given code (in How-To-Repeat); Exception is thrown. The constructor of the exception has an object argument wich itself has a virtual destructor. This seems to be necessary for reproducing the bug. The bug is new in in the 3.3 version of the compiler 2.95 up to 3.2 dont show it.
farewell-message of compiler:
test1.cc: In function `void foo()':
test1.cc:12: internal compiler error: in stabilize_throw_expr, at cp/except.c:
611
Please submit a full ...
>How-To-Repeat:
use the following program for g++, options dont seem to
change effect, #includes are not needed:
struct String {
virtual ~String ();
};
struct Exception {
Exception (const String s) {}
};
const String getstring () { return String (); }
void foo () {
throw Exception (getstring ()); // doesnt compile
}
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted: