This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/71853] [6/7 regression] ICE on an ill-formed case statement in c_do_switch_warnings
- From: "mpolacek at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 27 Jul 2016 17:10:46 +0000
- Subject: [Bug c/71853] [6/7 regression] ICE on an ill-formed case statement in c_do_switch_warnings
- Auto-submitted: auto-generated
- References: <bug-71853-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71853
--- Comment #3 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Funny, trying again now, I can reproduce it again:
(gdb) r
Starting program: /home/marek/x/trunk/gcc/cc1 -quiet q.c -Wall -W
q.c: In function ‘f’:
q.c:3:12: error: expected ‘:’ or ‘...’ before ‘{’ token
case (0) {
^
q.c:4:12: error: expected ‘(’ before numeric constant
switch 0: { }
^
q.c:4:12: warning: statement with no effect [-Wunused-value]
Program received signal SIGSEGV, Segmentation fault.
0x0000000000844fc2 in c_do_switch_warnings (cases=0x26ce2b0,
switch_location=254533,
type=<error reading variable: Cannot access memory at address 0x1>, cond=
<error_mark 0x7fffeff22c90>, bool_cond_p=false, outside_range_p=false)
at /home/marek/src/gcc/gcc/c-family/c-common.c:6287
6287 if (!type || TREE_CODE (type) != ENUMERAL_TYPE)
(gdb) p type
$1 = <error reading variable: Cannot access memory at address 0x1>
When I tried few hours back, type was error_mark_node.