aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-inline.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2010-01-14 23:38:29 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2010-01-14 23:38:29 +0100
commitd17af1478964cba0792df8436a8ae839626bdb19 (patch)
tree3c091210e01119a5d762356bfcb04bfa40ee1d7e /gcc/tree-inline.c
parent6700a2857f28074b6b388e6394a1c2599bfb7c17 (diff)
downloadgcc-d17af1478964cba0792df8436a8ae839626bdb19.zip
gcc-d17af1478964cba0792df8436a8ae839626bdb19.tar.gz
gcc-d17af1478964cba0792df8436a8ae839626bdb19.tar.bz2
re PR debug/42657 (Missing debug info for a variable)
PR debug/42657 * tree-inline.c (copy_debug_stmt): Don't reset debug stmt just because its first operand is a non-localized variable. From-SVN: r155917
Diffstat (limited to 'gcc/tree-inline.c')
-rw-r--r--gcc/tree-inline.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c
index 883a431..d7e515a 100644
--- a/gcc/tree-inline.c
+++ b/gcc/tree-inline.c
@@ -2160,6 +2160,12 @@ copy_debug_stmt (gimple stmt, copy_body_data *id)
gcc_assert (TREE_CODE (*n) == VAR_DECL);
t = *n;
}
+ else if (TREE_CODE (t) == VAR_DECL
+ && !TREE_STATIC (t)
+ && gimple_in_ssa_p (cfun)
+ && !pointer_map_contains (id->decl_map, t)
+ && !var_ann (t))
+ /* T is a non-localized variable. */;
else
walk_tree (&t, remap_gimple_op_r, &wi, NULL);