[gcc/devel/gccgo] Fix streamer desynchornization caused by streamer debugging patch

Ian Lance Taylor ian@gcc.gnu.org
Sun Jul 12 18:43:58 GMT 2020


https://gcc.gnu.org/g:11041c3151e30d197d1c2774721db24332eeccef

commit 11041c3151e30d197d1c2774721db24332eeccef
Author: Jan Hubicka <jh@suse.cz>
Date:   Fri May 29 12:25:48 2020 +0200

    Fix streamer desynchornization caused by streamer debugging patch
    
    it turns out I lost one hunk in the patch disabling extra streaming
    which causes streamer to go out of sync in the case non-trivial scc
    containing the node being streamed appears in local stream (which seems
    quite rare since it does not happen during bootstrap).
    
    2020-05-29  Jan Hubicka  <hubicka@ucw.cz>
    
            PR lto/95362
            * lto-streamer-out.c (lto_output_tree): Disable redundant streaming.

Diff:
---
 gcc/lto-streamer-out.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gcc/lto-streamer-out.c b/gcc/lto-streamer-out.c
index 288e3c0f4c6..dfd32ece4bd 100644
--- a/gcc/lto-streamer-out.c
+++ b/gcc/lto-streamer-out.c
@@ -1791,8 +1791,9 @@ lto_output_tree (struct output_block *ob, tree expr,
 	    }
 	  streamer_write_record_start (ob, LTO_tree_pickle_reference);
 	  streamer_write_uhwi (ob, ix);
-	  streamer_write_enum (ob->main_stream, LTO_tags, LTO_NUM_TAGS,
-			       lto_tree_code_to_tag (TREE_CODE (expr)));
+	  if (streamer_debugging)
+	    streamer_write_enum (ob->main_stream, LTO_tags, LTO_NUM_TAGS,
+				 lto_tree_code_to_tag (TREE_CODE (expr)));
 	}
       in_dfs_walk = false;
       lto_stats.num_pickle_refs_output++;


More information about the Gcc-cvs mailing list