This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
c++/7567: g++ 3.3 ICE in decl_jump_unsafe
- From: snyder at fnal dot gov
- To: gcc-gnats at gcc dot gnu dot org
- Date: Sat, 10 Aug 2002 12:12:55 CDT
- Subject: c++/7567: g++ 3.3 ICE in decl_jump_unsafe
- Reply-to: snyder at fnal dot gov
>Number: 7567
>Category: c++
>Synopsis: g++ 3.3 ICE in decl_jump_unsafe
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: unassigned
>State: open
>Class: ice-on-illegal-code
>Submitter-Id: net
>Arrival-Date: Sat Aug 10 10:16:01 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator: scott snyder
>Release: 3.3 20020808 (experimental)
>Organization:
<organization of PR author (multiple lines)>
>Environment:
System: Linux karma 2.4.9-13 #1 Tue Oct 30 20:11:04 EST 2001 i686 unknown
Architecture: i686
<machine, os, target, libraries (multiple lines)>
host: i686-pc-linux-gnu
build: i686-pc-linux-gnu
target: i686-pc-linux-gnu
configured with: ../egcs/configure --prefix=/usr/local/egcs --enable-threads=posix --enable-long-long : (reconfigured) : (reconfigured)
>Description:
gcc crashes on the following (invalid) input:
$ g++ -c x2.cc
x2.cc: In function `void foo(int)':
x2.cc:7: error: variable `C x' has initializer but incomplete type
x2.cc:9: internal compiler error: tree check: expected class 't', have 'x' (
error_mark) in decl_jump_unsafe, at cp/decl.c:4838
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
$
>How-To-Repeat:
---------------------------------------------------
class C;
void foo (int c)
{
switch (c) {
case 0:
C x = 1;
break;
default:
break;
}
}
---------------------------------------------------
>Fix:
<how to correct or work around the problem, if known (multiple lines)>
>Release-Note:
>Audit-Trail:
>Unformatted:
SEND-PR: Leave "Confidential" as "no"; all GCC PRs are public.
SEND-PR: critical GCC is completely not operational; no work-around known.
SEND-PR: serious GCC is not working properly; a work-around is possible.
SEND-PR: non-critical Report indicates minor problem.
SEND-PR: medium The problem should be solved in the next release.
SEND-PR: low The problem should be solve in a future release.
SEND-PR: doc-bug The documentation is incorrect.
SEND-PR: accepts-illegal GCC fails to reject erroneous code.
SEND-PR: rejects-legal GCC gives an error message for correct code.
SEND-PR: wrong-code The machine code generated by gcc is incorrect.
SEND-PR: ice-on-legal-code GCC gives an Internal Compiler Error (ICE)
SEND-PR: for correct code
SEND-PR: ice-on-illegal-code GCC gives an ICE instead of reporting an error
SEND-PR: pessimizes-code GCC misses an important optimization opportunity
SEND-PR: sw-bug Software bug of some other class than above
SEND-PR: change-request A feature in GCC is missing.
SEND-PR: support I need help with gcc.