Manuel López-Ibáñez <lopeziba...@gmail.com> writes: > Index: libcpp/line-map.c > =================================================================== > --- libcpp/line-map.c (revision 217191) > +++ libcpp/line-map.c (working copy) > @@ -631,10 +631,54 @@ linemap_position_for_line_and_column (co > + ((line - ORDINARY_MAP_STARTING_LINE_NUMBER (map)) > << ORDINARY_MAP_NUMBER_OF_COLUMN_BITS (map)) > + (column & ((1 << ORDINARY_MAP_NUMBER_OF_COLUMN_BITS (map)) - 1))); > } > > +/* Encode and return a source_location starting from location LOC and > + shifting it by OFFSET columns. This function does not support > + virtual locations. */ > + > +source_location > +linemap_position_for_loc_and_offset (struct line_maps *set, > + source_location loc, > + unsigned int offset) > +{ > + const struct line_map * map = NULL; > + > + /* This function does not support virtual locations yet. */ > + linemap_assert (!linemap_location_from_macro_expansion_p (set, loc)); > + > + if (offset == 0 > + /* Adding an offset to a reserved location (like > + UNKNOWN_LOCATION for the C/C++ FEs) does not really make > + sense. So let's live the location intact in that case. */ > + || loc < RESERVED_LOCATION_COUNT) > + return loc; > + > + /* First, we find the real location and shift it. */ > + loc = linemap_resolve_location (set, loc, LRK_SPELLING_LOCATION, &map); > + /* The new location (loc + offset) should be higher than the first > + location encoded by MAP. */ > + linemap_assert (MAP_START_LOCATION (map) < loc + offset); > + > + /* If MAP is not the last line map of its set, then the new location > + (loc + offset) should be less than the first location encoded by > + the next line map of the set. */ > + if (map < LINEMAPS_LAST_ORDINARY_MAP (set)) > + linemap_assert (MAP_START_LOCATION (&map[1]) < loc + offset);
../../libcpp/line-map.c:667:65: error: suggest braces around empty body in an 'if' statement [-Werror=empty-body] Andreas. -- Andreas Schwab, SUSE Labs, sch...@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different."