diff options
author | Richard Guenther <rguenther@suse.de> | 2011-02-19 19:50:36 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2011-02-19 19:50:36 +0000 |
commit | becf4c11dfa5184dee177410df7b1d8493559372 (patch) | |
tree | b8a7407d5d610d84b36fa5443872892265da8dd8 | |
parent | f9576cc5862b1a19a750f630714d6ce785119839 (diff) | |
download | gcc-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/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/lto-streamer-in.c | 10 | ||||
-rw-r--r-- | gcc/lto-streamer-out.c | 3 |
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) |