aboutsummaryrefslogtreecommitdiff
path: root/gcc/gimplify.c
diff options
context:
space:
mode:
authorDehao Chen <dehao@google.com>2012-10-10 01:26:30 +0000
committerDehao Chen <dehao@gcc.gnu.org>2012-10-10 01:26:30 +0000
commite368f44fefd6a8559fd1b444117afe0a17bc0d7b (patch)
treeb6320b917e9625d49064449b5ac44f56d88add5f /gcc/gimplify.c
parent2c62c8ec64ac0b3b7a21db4f45d8a8ae6372aa46 (diff)
downloadgcc-e368f44fefd6a8559fd1b444117afe0a17bc0d7b.zip
gcc-e368f44fefd6a8559fd1b444117afe0a17bc0d7b.tar.gz
gcc-e368f44fefd6a8559fd1b444117afe0a17bc0d7b.tar.bz2
tree-eh.c (lower_try_finally_onedest): Set correct location for deallocator.
gcc: 2012-10-10 Dehao Chen <dehao@google.com> * tree-eh.c (lower_try_finally_onedest): Set correct location for deallocator. * gimplify.c (gimplify_expr): Set correct location for TRY stmt. gcc/cp: 2012-10-10 Dehao Chen <dehao@google.com> * cp-gimplify.c (cp_genericize_r): Set location for TRY expr. testsuite: 2012-10-10 Dehao Chen <dehao@google.com> * g++.dg/debug/dwarf2/deallocator.C: Cover more deallocator cases. From-SVN: r192285
Diffstat (limited to 'gcc/gimplify.c')
-rw-r--r--gcc/gimplify.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/gimplify.c b/gcc/gimplify.c
index a871e7d..979715a 100644
--- a/gcc/gimplify.c
+++ b/gcc/gimplify.c
@@ -7475,6 +7475,10 @@ gimplify_expr (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p,
TREE_CODE (*expr_p) == TRY_FINALLY_EXPR
? GIMPLE_TRY_FINALLY
: GIMPLE_TRY_CATCH);
+ if (LOCATION_LOCUS (saved_location) != UNKNOWN_LOCATION)
+ gimple_set_location (try_, saved_location);
+ else
+ gimple_set_location (try_, EXPR_LOCATION (save_expr));
if (TREE_CODE (*expr_p) == TRY_CATCH_EXPR)
gimple_try_set_catch_is_cleanup (try_,
TRY_CATCH_IS_CLEANUP (*expr_p));