aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2011-02-19 19:50:36 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2011-02-19 19:50:36 +0000
commitbecf4c11dfa5184dee177410df7b1d8493559372 (patch)
treeb8a7407d5d610d84b36fa5443872892265da8dd8
parentf9576cc5862b1a19a750f630714d6ce785119839 (diff)
downloadgcc-becf4c11dfa5184dee177410df7b1d8493559372.zip
gcc-becf4c11dfa5184dee177410df7b1d8493559372.tar.gz
gcc-becf4c11dfa5184dee177410df7b1d8493559372.tar.bz2
re PR debug/47647 (BLOCKs are empty)
2011-02-18 Richard Guenther <rguenther@suse.de> PR lto/47647 * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers): Remove lazy BLOCK_VARS streaming. (lto_input_ts_block_tree_pointers): Likewise. * lto-streamer-out.c (lto_output_ts_block_tree_pointers): Likewise. From-SVN: r170321
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/lto-streamer-in.c10
-rw-r--r--gcc/lto-streamer-out.c3
3 files changed, 10 insertions, 11 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 62a9c64..92416b1 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2011-02-19 Richard Guenther <rguenther@suse.de>
+
+ PR lto/47647
+ * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers):
+ Remove lazy BLOCK_VARS streaming.
+ (lto_input_ts_block_tree_pointers): Likewise.
+ * lto-streamer-out.c (lto_output_ts_block_tree_pointers): Likewise.
+
2011-02-19 Joseph Myers <joseph@codesourcery.com>
* config.gcc (i[34567]86-pc-msdosdjgpp*): Use i386/djgpp-stdint.h.
diff --git a/gcc/lto-streamer-in.c b/gcc/lto-streamer-in.c
index 1f0cf29..5f5b263 100644
--- a/gcc/lto-streamer-in.c
+++ b/gcc/lto-streamer-in.c
@@ -1960,13 +1960,6 @@ lto_input_ts_decl_minimal_tree_pointers (struct lto_input_block *ib,
{
DECL_NAME (expr) = lto_input_tree (ib, data_in);
DECL_CONTEXT (expr) = lto_input_tree (ib, data_in);
- /* We do not stream BLOCK_VARS but lazily construct it here. */
- if (DECL_CONTEXT (expr)
- && TREE_CODE (DECL_CONTEXT (expr)) == BLOCK)
- {
- TREE_CHAIN (expr) = BLOCK_VARS (DECL_CONTEXT (expr));
- BLOCK_VARS (DECL_CONTEXT (expr)) = expr;
- }
DECL_SOURCE_LOCATION (expr) = lto_input_location (ib, data_in);
}
@@ -2188,8 +2181,7 @@ lto_input_ts_block_tree_pointers (struct lto_input_block *ib,
unsigned i, len;
BLOCK_SOURCE_LOCATION (expr) = lto_input_location (ib, data_in);
- /* We do not stream BLOCK_VARS but lazily construct it when reading
- in decls. */
+ BLOCK_VARS (expr) = lto_input_chain (ib, data_in);
len = lto_input_uleb128 (ib);
if (len > 0)
diff --git a/gcc/lto-streamer-out.c b/gcc/lto-streamer-out.c
index d1aac23..bb2985a 100644
--- a/gcc/lto-streamer-out.c
+++ b/gcc/lto-streamer-out.c
@@ -1057,8 +1057,7 @@ lto_output_ts_block_tree_pointers (struct output_block *ob, tree expr,
tree t;
lto_output_location (ob, BLOCK_SOURCE_LOCATION (expr));
- /* We do not stream BLOCK_VARS but lazily construct it when reading
- in decls. */
+ lto_output_chain (ob, BLOCK_VARS (expr), ref_p);
output_uleb128 (ob, VEC_length (tree, BLOCK_NONLOCALIZED_VARS (expr)));
FOR_EACH_VEC_ELT (tree, BLOCK_NONLOCALIZED_VARS (expr), i, t)