aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDehao Chen <dehao@google.com>2012-10-06 16:19:34 +0000
committerDehao Chen <dehao@gcc.gnu.org>2012-10-06 16:19:34 +0000
commitf16dd8229532dcf804ad6735136cdb4c9ad268b6 (patch)
tree450fc490d2184310414e4b7f092d81c981aabf11
parent6ada5e7d9939f50f281ac395a7f3f392527b24c4 (diff)
downloadgcc-f16dd8229532dcf804ad6735136cdb4c9ad268b6.zip
gcc-f16dd8229532dcf804ad6735136cdb4c9ad268b6.tar.gz
gcc-f16dd8229532dcf804ad6735136cdb4c9ad268b6.tar.bz2
re PR debug/54826 (gdb test case failure (bs15503) due to gaps in lexical block)
2012-10-05 Dehao Chen <dehao@google.com> PR debug/54826 * gimple-low.c (lower_stmt): Set the block for call args. From-SVN: r192165
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/gimple-low.c8
2 files changed, 13 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 649f45e..4eca5bf 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2012-10-06 Dehao Chen <dehao@google.com>
+
+ PR debug/54826
+ * gimple-low.c (lower_stmt): Set the block for call args.
+
2012-10-06 Jan Hubicka <jh@suse.cz>
* doc/invoke.texi (-fprofile-report): Document.
diff --git a/gcc/gimple-low.c b/gcc/gimple-low.c
index 424ad55..677e41f 100644
--- a/gcc/gimple-low.c
+++ b/gcc/gimple-low.c
@@ -425,6 +425,14 @@ lower_stmt (gimple_stmt_iterator *gsi, struct lower_data *data)
case GIMPLE_CALL:
{
tree decl = gimple_call_fndecl (stmt);
+ unsigned i;
+
+ for (i = 0; i < gimple_call_num_args (stmt); i++)
+ {
+ tree arg = gimple_call_arg (stmt, i);
+ if (EXPR_P (arg))
+ TREE_SET_BLOCK (arg, data->block);
+ }
if (decl
&& DECL_BUILT_IN_CLASS (decl) == BUILT_IN_NORMAL