+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.
{
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);
}
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)
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)