https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65536

--- Comment #21 from Manuel López-Ibáñez <manu at gcc dot gnu.org> ---
(In reply to Jakub Jelinek from comment #19)
> Guess that can't really pass make check or lto bootstrap, because the LTO
> streamer needs to be in sync between out and in, so commenting out
> streaming in of the column number, but not doing the same for streaming it
> out will break things completely.

I was trying to silence the unused-but-set warning. Maybe this works:

--- src/gcc/lto-streamer-in.c   (revision 221557)
+++ src/gcc/lto-streamer-in.c   (working copy)
@@ -198,19 +198,23 @@ lto_input_location (struct bitpack_d *bp
     current_line = bp_unpack_var_len_unsigned (bp);

   if (column_change)
     current_col = bp_unpack_var_len_unsigned (bp);

-  if (file_change)
+  /* FIXME: Disable columns for now until streaming of locations is
reimplemented.  */
+  /* Enough column_hint to disable columns */
+  current_col = LINE_MAP_MAX_COLUMN_NUMBER + 1;
+
+  if (file_change) 
     {
       if (prev_file)
-       linemap_add (line_table, LC_LEAVE, false, NULL, 0);
-
-      linemap_add (line_table, LC_ENTER, false, current_file, current_line);
+       linemap_add (line_table, LC_RENAME, false, current_file, current_line);
+      else
+       linemap_add (line_table, LC_ENTER, false, current_file, current_line);
     }
   else if (line_change)
-    linemap_line_start (line_table, current_line, current_col);
+    return linemap_line_start (line_table, current_line, current_col);

   return linemap_position_for_column (line_table, current_col);
 }


Note that using column_hint == 0, like in this patch:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=45375#c175 does not actually
disable columns as it should, in fact, it triggers a new map allocation. (I
think this is a bug in line-maps.c.)

Reply via email to