@@ -518,9 +518,7 @@ Lex::require_line()
source_location
Lex::location() const
{
- source_location location;
- LINEMAP_POSITION_FOR_COLUMN(location, line_table, this->lineoff_ + 1);
- return location;
+ return linemap_position_for_column (line_table, this->lineoff_ + 1);
}
// Get a location slightly before the current one. This is used for
@@ -529,9 +527,7 @@ Lex::location() const
source_location
Lex::earlier_location(int chars) const
{
- source_location location;
- LINEMAP_POSITION_FOR_COLUMN(location, line_table, this->lineoff_ + 1 - chars);
- return location;
+ return linemap_position_for_column (line_table, this->lineoff_ + 1 - chars);
}
// Get the next token.
@@ -142,7 +142,7 @@ _cpp_preprocess_dir_only (cpp_reader *pfile,
flags |= DO_LINE_COMMENT;
else if (!(flags & DO_SPECIAL))
/* Mark the position for possible error reporting. */
- LINEMAP_POSITION_FOR_COLUMN (loc, pfile->line_table, col);
+ loc = linemap_position_for_column (pfile->line_table, col);
break;
@@ -165,23 +165,6 @@ extern const struct line_map *linemap_lookup
/* Nonzero if the map is at the bottom of the include stack. */
#define MAIN_FILE_P(MAP) ((MAP)->included_from < 0)
-/* Set LOC to a source position that is the same line as the most recent
- linemap_line_start, but with the specified TO_COLUMN column number. */
-
-#define LINEMAP_POSITION_FOR_COLUMN(LOC, SET, TO_COLUMN) do { \
- unsigned int to_column = (TO_COLUMN); \
- struct line_maps *set = (SET); \
- if (__builtin_expect (to_column >= set->max_column_hint, 0)) \
- (LOC) = linemap_position_for_column (set, to_column); \
- else { \
- source_location r = set->highest_line; \
- r = r + to_column; \
- if (r >= set->highest_location) \
- set->highest_location = r; \
- (LOC) = r; \
- }} while (0)
-
-
extern source_location
linemap_position_for_column (struct line_maps *set, unsigned int to_column);
@@ -1975,8 +1975,8 @@ _cpp_lex_direct (cpp_reader *pfile)
}
c = *buffer->cur++;
- LINEMAP_POSITION_FOR_COLUMN (result->src_loc, pfile->line_table,
- CPP_BUF_COLUMN (buffer, buffer->cur));
+ result->src_loc = linemap_position_for_column (pfile->line_table,
+ CPP_BUF_COLUMN (buffer, buffer->cur));
switch (c)
{