This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Subject: Fix stack overflow problem when bootstrapping on Darwin
- From: Joern Rennecke <joern dot rennecke at superh dot com>
- To: Geoffrey Keating <gkeating at apple dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Thu, 01 May 2003 22:08:29 +0100
- Subject: Re: Subject: Fix stack overflow problem when bootstrapping on Darwin
- Organization: SuperH UK Ltd.
> * c-semantics.c (expand_unreachable_stmt): Return a tree.
This causes an ENABLE_CHECKING regression for gcc.dg/switch-2.c
on sh-elf. Before your patch, the current nesting level was
popped as a result of the call to expand_stmt:
#0 0x08254772 in expand_end_bindings (vars=0x0, mark_ends=1, dont_jump_in=0)
at ../../srcw/gcc/stmt.c:3842
#1 0x080a56a9 in genrtl_scope_stmt (t=0x401ae21c)
at ../../srcw/gcc/c-semantics.c:640
#2 0x080a713b in expand_stmt (t=0x401ae21c)
at ../../srcw/gcc/c-semantics.c:903
#3 0x080a8203 in expand_unreachable_stmt (t=0x4001e660, warn=0)
at ../../srcw/gcc/c-semantics.c:1079
#4 0x080a5c01 in genrtl_switch_stmt (t=0x4001e640)
at ../../srcw/gcc/c-semantics.c:690
(gdb) frame 0
#0 0x08254772 in expand_end_bindings (vars=0x0, mark_ends=1, dont_jump_in=0)
at ../../srcw/gcc/stmt.c:3842
3842 POPSTACK (block_stack);
Now it is no longer popped, and genrtl_compound_stmt aborts
because the nesting level after the call to expand_stmt no
longer matches the one before the call.
--
--------------------------
SuperH (UK) Ltd.
2410 Aztec West / Almondsbury / BRISTOL / BS32 4QX
T:+44 1454 465658