diff options
Diffstat (limited to 'gcc/cfgexpand.c')
-rw-r--r-- | gcc/cfgexpand.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c index b8d44a6..b91af8e 100644 --- a/gcc/cfgexpand.c +++ b/gcc/cfgexpand.c @@ -1512,6 +1512,13 @@ expand_gimple_basic_block (basic_block bb) else { tree call = get_call_expr_in (stmt); + int region; + /* For the benefit of calls.c, converting all this to rtl, + we need to record the call expression, not just the outer + modify statement. */ + if (call && call != stmt + && (region = lookup_stmt_eh_region (stmt)) > 0) + add_stmt_to_eh_region (call, region); if (call && CALL_EXPR_TAILCALL (call)) { bool can_fallthru; |