diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/tree-eh.c | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c797558..9106eb73 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2017-08-30 Eric Botcazou <ebotcazou@adacore.com> + * 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. + +2017-08-30 Eric Botcazou <ebotcazou@adacore.com> + * varasm.c (decode_addr_const): Deal with INDIRECT_REF <INTEGER_CST>. 2017-08-30 Pat Haugen <pthaugen@us.ibm.com> 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); } |