diff options
author | Seongbae Park <seongbae.park@gmail.com> | 2007-08-16 17:30:20 +0000 |
---|---|---|
committer | Seongbae Park <spark@gcc.gnu.org> | 2007-08-16 17:30:20 +0000 |
commit | d407ad672934d4cdca932d108fddde8f4a75af97 (patch) | |
tree | d788fd42d7efa7d166ddd35978c8f79553fe4db1 /gcc/tree-eh.c | |
parent | ac7d7749c082ec30d145860578ebd905a709ce50 (diff) | |
download | gcc-d407ad672934d4cdca932d108fddde8f4a75af97.zip gcc-d407ad672934d4cdca932d108fddde8f4a75af97.tar.gz gcc-d407ad672934d4cdca932d108fddde8f4a75af97.tar.bz2 |
tree-eh.c (lower_try_finally_onedest): Reset the locus of GOTO that's relocated to a different block.
gcc/ChangeLog:
2007-08-16 Seongbae Park <seongbae.park@gmail.com>
* tree-eh.c (lower_try_finally_onedest): Reset the locus
of GOTO that's relocated to a different block.
gcc/testsuite/ChangeLog:
2007-08-16 Seongbae Park <seongbae.park@gmail.com>
* g++.dg/gcov/gcov-4.C: New test.
* lib/gcov.exp (verify-lines): Add support for
checking no-coverage lines.
From-SVN: r127562
Diffstat (limited to 'gcc/tree-eh.c')
-rw-r--r-- | gcc/tree-eh.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/tree-eh.c b/gcc/tree-eh.c index 659bbfda..89f863f 100644 --- a/gcc/tree-eh.c +++ b/gcc/tree-eh.c @@ -1020,6 +1020,9 @@ lower_try_finally_onedest (struct leh_state *state, struct leh_tf_state *tf) } } + /* Reset the locus of the goto since we're moving + goto to a different block which might be on a different line. */ + SET_EXPR_LOCUS (tf->goto_queue[0].cont_stmt, NULL); append_to_statement_list (tf->goto_queue[0].cont_stmt, tf->top_p); maybe_record_in_goto_queue (state, tf->goto_queue[0].cont_stmt); } |