diff options
author | Michael Matz <matz@suse.de> | 2009-11-27 13:08:58 +0000 |
---|---|---|
committer | Michael Matz <matz@gcc.gnu.org> | 2009-11-27 13:08:58 +0000 |
commit | d815d34e463182d0112bdf81f38df55eef2ed6de (patch) | |
tree | cb170e70a64741e1f96f846b2cff532d0544118f /gcc/tree-eh.c | |
parent | b56ae8c7c7a09b0dfe04cf1b5d8ef1e96a8e6b0c (diff) | |
download | gcc-d815d34e463182d0112bdf81f38df55eef2ed6de.tar.gz |
re PR c++/41906 (ICE with catch(...) and -fpermissive)
PR c++/41906
* tree-eh.c (lower_catch): Stop after expanding a catch-all.
testsuite/
* g++.dg/tree-ssa/pr41906.C: New testcase.
From-SVN: r154704
Diffstat (limited to 'gcc/tree-eh.c')
-rw-r--r-- | gcc/tree-eh.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/tree-eh.c b/gcc/tree-eh.c index dde343c4611..1a9e7b50e6a 100644 --- a/gcc/tree-eh.c +++ b/gcc/tree-eh.c @@ -1666,6 +1666,8 @@ lower_catch (struct leh_state *state, gimple tp) x = gimple_build_goto (out_label); gimple_seq_add_stmt (&new_seq, x); } + if (!c->type_list) + break; } gimple_try_set_cleanup (tp, new_seq); |