This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
c/9928: ICE on duplicate enum declaration
- From: snyder at fnal dot gov
- To: gcc-gnats at gcc dot gnu dot org
- Date: Mon, 03 Mar 2003 17:19:45 -0600
- Subject: c/9928: ICE on duplicate enum declaration
- Reply-to: snyder at fnal dot gov
>Number: 9928
>Category: c
>Synopsis: ICE on duplicate enum declaration
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: unassigned
>State: open
>Class: ice-on-illegal-code
>Submitter-Id: net
>Arrival-Date: Mon Mar 03 23:26:01 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator: scott snyder
>Release: 3.4 20030303 (experimental)
>Organization:
<organization of PR author (multiple lines)>
>Environment:
System: Linux karma 2.4.19-emp_2419p5a829i #1 Tue Sep 3 17:42:17 EST 2002 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: ../gcc/configure --prefix=/usr/local/gcc --enable-threads=posix --enable-long-long : (reconfigured)
>Description:
gcc dies with a SEGV compiling the (invalid) code below:
$ ./cc1 x.c
x.c:2: error: conflicting types for `CODES'
x.c:1: error: previous declaration of `CODES'
x.c:2: internal compiler 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.
$
Here's where it's dying:
Program received signal SIGSEGV, Segmentation fault.
0x0839d43a in int_fits_type_p (c=0x0, type=0x4001e3cc) at ../../gcc/gcc/tree.c:4046
4046 return (! INT_CST_LT (TYPE_MAX_VALUE (type), c)
(gdb) where
#0 0x0839d43a in int_fits_type_p (c=0x0, type=0x4001e3cc) at ../../gcc/gcc/tree.c:4046
#1 0x08071a1b in finish_enum (enumtype=0x4004fd80, values=0x40038d48, attributes=0x0) at ../../gcc/gcc/c-decl.c:5564
#2 0x0804fe2b in yyparse () at c-parse.y:1692
#3 0x0805d145 in c_common_parse_file (set_yydebug=0) at ../../gcc/gcc/c-lex.c:165
During symbol reading, struct/union type gets multiply defined: struct rtx_def.
During symbol reading, struct/union type gets multiply defined: struct rtvec_def.
During symbol reading, struct/union type gets multiply defined: struct function.
#4 0x08386db5 in compile_file () at ../../gcc/gcc/toplev.c:2187
#5 0x0838d9d7 in do_compile (no_backend=0) at ../../gcc/gcc/toplev.c:5517
#6 0x0838da56 in toplev_main (argc=2, argv=0xbfffc0a4) at ../../gcc/gcc/toplev.c:5557
#7 0x080cee6c in main (argc=2, argv=0xbfffc0a4) at ../../gcc/gcc/main.c:37
>How-To-Repeat:
--------------------------------------------------
enum { CODES };
enum { CODES };
--------------------------------------------------
>Fix:
<how to correct or work around the problem, if known (multiple lines)>
>Release-Note:
>Audit-Trail:
>Unformatted: