diff options
author | Dehao Chen <dehao@google.com> | 2012-10-10 01:26:30 +0000 |
---|---|---|
committer | Dehao Chen <dehao@gcc.gnu.org> | 2012-10-10 01:26:30 +0000 |
commit | e368f44fefd6a8559fd1b444117afe0a17bc0d7b (patch) | |
tree | b6320b917e9625d49064449b5ac44f56d88add5f /gcc/gimplify.c | |
parent | 2c62c8ec64ac0b3b7a21db4f45d8a8ae6372aa46 (diff) | |
download | gcc-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.c | 4 |
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)); |