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

Reply via email to