aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2012-06-29 22:39:29 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2012-06-29 22:39:29 +0000
commit0118b9193d83cb42fc5b6b7f2095898296a4313c (patch)
treedf5915b3873e926b9a0de2cd6ebe7789ba9e8d96 /gcc
parentdc7267351ebc216085566a216e68f398ba63c2a9 (diff)
downloadgcc-0118b9193d83cb42fc5b6b7f2095898296a4313c.zip
gcc-0118b9193d83cb42fc5b6b7f2095898296a4313c.tar.gz
gcc-0118b9193d83cb42fc5b6b7f2095898296a4313c.tar.bz2
tree-eh.c (lower_try_finally_switch): Really put the location of the last statement of the finally block onto the switch.
* tree-eh.c (lower_try_finally_switch): Really put the location of the last statement of the finally block onto the switch. From-SVN: r189086
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/tree-eh.c5
2 files changed, 7 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0fca228..45caa67 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2012-06-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-eh.c (lower_try_finally_switch): Really put the location of the
+ last statement of the finally block onto the switch.
+
2012-06-29 H.J. Lu <hongjiu.lu@intel.com>
PR target/53539
diff --git a/gcc/tree-eh.c b/gcc/tree-eh.c
index 89b95fa..3b35ca4 100644
--- a/gcc/tree-eh.c
+++ b/gcc/tree-eh.c
@@ -1320,9 +1320,8 @@ lower_try_finally_switch (struct leh_state *state, struct leh_tf_state *tf)
/* The location of the finally is either the last stmt in the finally
block or the location of the TRY_FINALLY itself. */
- finally_loc = gimple_seq_last_stmt (tf->top_p_seq) != NULL ?
- gimple_location (gimple_seq_last_stmt (tf->top_p_seq))
- : tf_loc;
+ x = gimple_seq_last_stmt (finally);
+ finally_loc = x ? gimple_location (x) : tf_loc;
/* Lower the finally block itself. */
lower_eh_constructs_1 (state, &finally);