aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-eh.c
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2017-08-30 19:10:38 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2017-08-30 19:10:38 +0000
commitba0cecd6d45506d12db4c88637565cc059e6960d (patch)
tree1ed2e8de83fadd3bc886aa9af6717d6e86404e98 /gcc/tree-eh.c
parent02d548063dec05650364fed2369d8f7d94c48fd8 (diff)
downloadgcc-ba0cecd6d45506d12db4c88637565cc059e6960d.zip
gcc-ba0cecd6d45506d12db4c88637565cc059e6960d.tar.gz
gcc-ba0cecd6d45506d12db4c88637565cc059e6960d.tar.bz2
tree-eh.c (lower_try_finally_switch): Set the location of the finally on the entire header of the finally block in...
* tree-eh.c (lower_try_finally_switch): Set the location of the finally on the entire header of the finally block in the fallthru case. From-SVN: r251546
Diffstat (limited to 'gcc/tree-eh.c')
-rw-r--r--gcc/tree-eh.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/tree-eh.c b/gcc/tree-eh.c
index 9381979..329fadb 100644
--- a/gcc/tree-eh.c
+++ b/gcc/tree-eh.c
@@ -1416,11 +1416,12 @@ lower_try_finally_switch (struct leh_state *state, struct leh_tf_state *tf)
x = gimple_build_assign (finally_tmp,
build_int_cst (integer_type_node,
fallthru_index));
+ gimple_set_location (x, finally_loc);
gimple_seq_add_stmt (&tf->top_p_seq, x);
tmp = build_int_cst (integer_type_node, fallthru_index);
last_case = build_case_label (tmp, NULL,
- create_artificial_label (tf_loc));
+ create_artificial_label (finally_loc));
case_label_vec.quick_push (last_case);
last_case_index++;
@@ -1429,7 +1430,7 @@ lower_try_finally_switch (struct leh_state *state, struct leh_tf_state *tf)
tmp = lower_try_finally_fallthru_label (tf);
x = gimple_build_goto (tmp);
- gimple_set_location (x, tf_loc);
+ gimple_set_location (x, finally_loc);
gimple_seq_add_stmt (&switch_body, x);
}