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.)