aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2011-02-02 05:44:38 +0000
committerAlexandre Oliva <aoliva@gcc.gnu.org>2011-02-02 05:44:38 +0000
commitaaa2ac931e8979147eeac7fd29d548bcb1ddef99 (patch)
tree2249a079ddd3d9c2bf0321b4a86aa087da1d7a9d /gcc
parenta59d15cf9f9a6daa75072e8f5b0ab93d279274b3 (diff)
downloadgcc-aaa2ac931e8979147eeac7fd29d548bcb1ddef99.zip
gcc-aaa2ac931e8979147eeac7fd29d548bcb1ddef99.tar.gz
gcc-aaa2ac931e8979147eeac7fd29d548bcb1ddef99.tar.bz2
re PR debug/47106 (-fcompare-debug failure (length) with -fpartial-inlining -flto -fconserve-stack)
PR debug/47106 PR debug/47402 * tree-inline.c (declare_return_variable): Add result decl to local decls only once. * gimple-low.c (record_vars_into): Mark newly-created variables as referenced. From-SVN: r169514
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/gimple-low.c2
-rw-r--r--gcc/tree-inline.c1
3 files changed, 11 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9ee08df..7eea885 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,14 @@
2011-02-02 Alexandre Oliva <aoliva@redhat.com>
+ PR debug/47106
+ PR debug/47402
+ * tree-inline.c (declare_return_variable): Add result decl to
+ local decls only once.
+ * gimple-low.c (record_vars_into): Mark newly-created variables
+ as referenced.
+
+2011-02-02 Alexandre Oliva <aoliva@redhat.com>
+
PR debug/47498
PR debug/47501
PR debug/45136
diff --git a/gcc/gimple-low.c b/gcc/gimple-low.c
index 2c585e3..4e49241 100644
--- a/gcc/gimple-low.c
+++ b/gcc/gimple-low.c
@@ -907,6 +907,8 @@ record_vars_into (tree vars, tree fn)
/* Record the variable. */
add_local_decl (cfun, var);
+ if (gimple_referenced_vars (cfun))
+ add_referenced_var (var);
}
if (fn != current_function_decl)
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c
index 24a6dd0..0a10df7 100644
--- a/gcc/tree-inline.c
+++ b/gcc/tree-inline.c
@@ -2864,7 +2864,6 @@ declare_return_variable (copy_body_data *id, tree return_slot, tree modify_dest,
}
DECL_SEEN_IN_BIND_EXPR_P (var) = 1;
- add_local_decl (DECL_STRUCT_FUNCTION (caller), var);
/* Do not have the rest of GCC warn about this variable as it should
not be visible to the user. */