diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 649f45eebb9..4eca5bf49e3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2012-10-06 Dehao Chen + + PR debug/54826 + * gimple-low.c (lower_stmt): Set the block for call args. + 2012-10-06 Jan Hubicka * doc/invoke.texi (-fprofile-report): Document. diff --git a/gcc/gimple-low.c b/gcc/gimple-low.c index 424ad550d78..677e41f2673 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