2011-02-18 Richard Guenther <rguenther@suse.de>
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 19 Feb 2011 19:50:36 +0000 (19:50 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 19 Feb 2011 19:50:36 +0000 (19:50 +0000)
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170321 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/lto-streamer-in.c
gcc/lto-streamer-out.c

index 62a9c64..92416b1 100644 (file)
@@ -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.
index 1f0cf29..5f5b263 100644 (file)
@@ -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)
index d1aac23..bb2985a 100644 (file)
@@ -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)