aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-streamer-in.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/tree-streamer-in.c')
-rw-r--r--gcc/tree-streamer-in.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/gcc/tree-streamer-in.c b/gcc/tree-streamer-in.c
index 73a81c9..fc69845 100644
--- a/gcc/tree-streamer-in.c
+++ b/gcc/tree-streamer-in.c
@@ -792,22 +792,22 @@ static void
lto_input_ts_block_tree_pointers (struct lto_input_block *ib,
struct data_in *data_in, tree expr)
{
- /* Do not stream BLOCK_SOURCE_LOCATION. We cannot handle debug information
- for early inlining so drop it on the floor instead of ICEing in
- dwarf2out.c. */
BLOCK_VARS (expr) = streamer_read_chain (ib, data_in);
- /* Do not stream BLOCK_NONLOCALIZED_VARS. We cannot handle debug information
- for early inlining so drop it on the floor instead of ICEing in
- dwarf2out.c. */
-
BLOCK_SUPERCONTEXT (expr) = stream_read_tree (ib, data_in);
- /* Do not stream BLOCK_ABSTRACT_ORIGIN. We cannot handle debug information
- for early inlining so drop it on the floor instead of ICEing in
+ /* Stream BLOCK_ABSTRACT_ORIGIN and BLOCK_SOURCE_LOCATION for
+ the limited cases we can handle - those that represent inlined
+ function scopes. For the rest them on the floor instead of ICEing in
dwarf2out.c. */
- BLOCK_FRAGMENT_ORIGIN (expr) = stream_read_tree (ib, data_in);
- BLOCK_FRAGMENT_CHAIN (expr) = stream_read_tree (ib, data_in);
+ BLOCK_ABSTRACT_ORIGIN (expr) = stream_read_tree (ib, data_in);
+ BLOCK_SOURCE_LOCATION (expr) = lto_input_location (ib, data_in);
+ /* Do not stream BLOCK_NONLOCALIZED_VARS. We cannot handle debug information
+ for early inlined BLOCKs so drop it on the floor instead of ICEing in
+ dwarf2out.c. */
+
+ /* BLOCK_FRAGMENT_ORIGIN and BLOCK_FRAGMENT_CHAIN is not live at LTO
+ streaming time. */
/* We re-compute BLOCK_SUBBLOCKS of our parent here instead
of streaming it. For non-BLOCK BLOCK_SUPERCONTEXTs we still