summaryrefslogtreecommitdiff
path: root/gcc/tree-inline.c
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2015-11-21 08:24:13 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2015-11-21 08:24:13 +0000
commita67f43dbcbb3ada626118f180252dfcbf2744812 (patch)
tree42bc6c290411588a59e520cb9ff7360e274fcf45 /gcc/tree-inline.c
parent6e5b1d3ad2edccacc59dec640ff0be5424defb44 (diff)
downloadgcc-a67f43dbcbb3ada626118f180252dfcbf2744812.tar.gz
PR debug/66432
* tree-inline.c (copy_debug_stmt): If gimple_debug_source_bind_get_value is DECL_ORIGIN of a PARM_DECL in decl_debug_args, don't call remap_gimple_op_r on it. * gcc.dg/debug/pr66432.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230702 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-inline.c')
-rw-r--r--gcc/tree-inline.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c
index 205c869b88e..ebab1898fad 100644
--- a/gcc/tree-inline.c
+++ b/gcc/tree-inline.c
@@ -2864,8 +2864,6 @@ copy_debug_stmt (gdebug *stmt, copy_body_data *id)
else if (gimple_debug_source_bind_p (stmt))
{
gimple_debug_source_bind_set_var (stmt, t);
- walk_tree (gimple_debug_source_bind_get_value_ptr (stmt),
- remap_gimple_op_r, &wi, NULL);
/* When inlining and source bind refers to one of the optimized
away parameters, change the source bind into normal debug bind
referring to the corresponding DEBUG_EXPR_DECL that should have
@@ -2889,7 +2887,10 @@ copy_debug_stmt (gdebug *stmt, copy_body_data *id)
break;
}
}
- }
+ }
+ if (gimple_debug_source_bind_p (stmt))
+ walk_tree (gimple_debug_source_bind_get_value_ptr (stmt),
+ remap_gimple_op_r, &wi, NULL);
}
processing_debug_stmt = 0;