re PR preprocessor/60436 (C preprocessor segfaults on assembly file)

PR preprocessor/60436
	* line-map.c (linemap_line_start): If highest is above 0x60000000
	and we are still tracking columns or highest is above 0x70000000,
	force add_map.

From-SVN: r218042
This commit is contained in:
Jakub Jelinek 2014-11-25 12:16:27 +01:00 committed by Jakub Jelinek
parent e302f8154a
commit 43ba1c6c3e
2 changed files with 12 additions and 5 deletions

View File

@ -1,3 +1,10 @@
2014-11-25 Jakub Jelinek <jakub@redhat.com>
PR preprocessor/60436
* line-map.c (linemap_line_start): If highest is above 0x60000000
and we are still tracking columns or highest is above 0x70000000,
force add_map.
2014-11-20 Uros Bizjak <ubizjak@gmail.com>
PR target/63966

View File

@ -529,10 +529,10 @@ linemap_line_start (struct line_maps *set, linenum_type to_line,
&& line_delta * ORDINARY_MAP_NUMBER_OF_COLUMN_BITS (map) > 1000)
|| (max_column_hint >= (1U << ORDINARY_MAP_NUMBER_OF_COLUMN_BITS (map)))
|| (max_column_hint <= 80
&& ORDINARY_MAP_NUMBER_OF_COLUMN_BITS (map) >= 10))
{
add_map = true;
}
&& ORDINARY_MAP_NUMBER_OF_COLUMN_BITS (map) >= 10)
|| (highest > 0x60000000
&& (set->max_column_hint || highest > 0x70000000)))
add_map = true;
else
max_column_hint = set->max_column_hint;
if (add_map)
@ -543,7 +543,7 @@ linemap_line_start (struct line_maps *set, linenum_type to_line,
/* If the column number is ridiculous or we've allocated a huge
number of source_locations, give up on column numbers. */
max_column_hint = 0;
if (highest >0x70000000)
if (highest > 0x70000000)
return 0;
column_bits = 0;
}