From becf4c11dfa5184dee177410df7b1d8493559372 Mon Sep 17 00:00:00 2001 From: Richard Guenther Date: Sat, 19 Feb 2011 19:50:36 +0000 Subject: [PATCH] re PR debug/47647 (BLOCKs are empty) 2011-02-18 Richard Guenther 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 --- gcc/ChangeLog | 8 ++++++++ gcc/lto-streamer-in.c | 10 +--------- gcc/lto-streamer-out.c | 3 +-- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 62a9c64f226..92416b15665 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2011-02-19 Richard Guenther + + 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 * 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 1f0cf29d35a..5f5b263c4cd 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 d1aac239f77..bb2985a450d 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) -- 2.30.2