mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-24 19:01:17 +08:00
re PR preprocessor/20907 (long comments throw off line numbers)
PR preprocessor/20907 * line-map.c (linemap_line_start): Fix bug when we need to increse column_bits but can re-use the current line_map. From-SVN: r98515
This commit is contained in:
parent
1c28033707
commit
c1fc50476c
@ -1,3 +1,9 @@
|
||||
2005-04-19 Per Bothner <per@bothner.com>
|
||||
|
||||
PR preprocessor/20907
|
||||
* line-map.c (linemap_line_start): Fix bug when we need to increse
|
||||
column_bits but can re-use the current line_map.
|
||||
|
||||
2005-04-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||
|
||||
* system.h (fopen, fdopen, freopen): Define these to the unlocked
|
||||
|
@ -199,6 +199,8 @@ linemap_line_start (struct line_maps *set, unsigned int to_line,
|
||||
int column_bits;
|
||||
if (max_column_hint > 100000 || highest > 0xC0000000)
|
||||
{
|
||||
/* 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 >0xF0000000)
|
||||
return 0;
|
||||
@ -211,13 +213,15 @@ linemap_line_start (struct line_maps *set, unsigned int to_line,
|
||||
column_bits++;
|
||||
max_column_hint = 1U << column_bits;
|
||||
}
|
||||
/* Allocate the new line_map. However, if the current map only has a
|
||||
single line we can sometimes just increase its column_bits instead. */
|
||||
if (line_delta < 0
|
||||
|| last_line != map->to_line
|
||||
|| SOURCE_COLUMN (map, highest) >= (1U << column_bits))
|
||||
map = (struct line_map*) linemap_add (set, LC_RENAME, map->sysp,
|
||||
map->to_file, to_line);
|
||||
map->column_bits = column_bits;
|
||||
r = map->start_location;
|
||||
r = map->start_location + ((to_line - map->to_line) << column_bits);
|
||||
}
|
||||
else
|
||||
r = highest - SOURCE_COLUMN (map, highest)
|
||||
|
Loading…
x
Reference in New Issue
Block a user