Change of location_get_source_line signature

gcc/ChangeLog:
	* input.h (location_get_source_line): Drop "expanded_location"
	param in favor of a file and line number.
	* input.c (location_get_source_line): Likewise.
	(dump_location_info): Update for change in signature of
	location_get_source_line.
	* diagnostic.c (diagnostic_print_caret_line): Likewise.

gcc/c-family/ChangeLog:
	* c-format.c (location_from_offset): Update for change in
	signature of location_get_source_line.
	* c-indentation.c (get_visual_column): Likewise.
	(line_contains_hash_if): Likewise.

From-SVN: r227800
This commit is contained in:
David Malcolm 2015-09-15 16:53:01 +00:00 committed by David Malcolm
parent c55721c0df
commit 31bdd08a9d
7 changed files with 31 additions and 16 deletions

View File

@ -1,3 +1,12 @@
2015-09-15 David Malcolm <dmalcolm@redhat.com>
* input.h (location_get_source_line): Drop "expanded_location"
param in favor of a file and line number.
* input.c (location_get_source_line): Likewise.
(dump_location_info): Update for change in signature of
location_get_source_line.
* diagnostic.c (diagnostic_print_caret_line): Likewise.
2015-09-15 Eric Botcazou <ebotcazou@adacore.com> 2015-09-15 Eric Botcazou <ebotcazou@adacore.com>
* defaults.h (STACK_OLD_CHECK_PROTECT): Adjust for -fno-exceptions. * defaults.h (STACK_OLD_CHECK_PROTECT): Adjust for -fno-exceptions.

View File

@ -1,3 +1,10 @@
2015-09-15 David Malcolm <dmalcolm@redhat.com>
* c-format.c (location_from_offset): Update for change in
signature of location_get_source_line.
* c-indentation.c (get_visual_column): Likewise.
(line_contains_hash_if): Likewise.
2015-09-14 Marek Polacek <polacek@redhat.com> 2015-09-14 Marek Polacek <polacek@redhat.com>
* c-opts.c (c_common_post_options): Set C++ standard earlier, before * c-opts.c (c_common_post_options): Set C++ standard earlier, before

View File

@ -132,7 +132,7 @@ location_from_offset (location_t loc, int offset)
expanded_location s = expand_location_to_spelling_point (loc); expanded_location s = expand_location_to_spelling_point (loc);
int line_width; int line_width;
const char *line = location_get_source_line (s, &line_width); const char *line = location_get_source_line (s.file, s.line, &line_width);
if (line == NULL) if (line == NULL)
return loc; return loc;
line += s.column - 1 ; line += s.column - 1 ;

View File

@ -45,7 +45,8 @@ get_visual_column (expanded_location exploc,
unsigned int *first_nws = NULL) unsigned int *first_nws = NULL)
{ {
int line_len; int line_len;
const char *line = location_get_source_line (exploc, &line_len); const char *line = location_get_source_line (exploc.file, exploc.line,
&line_len);
if (!line) if (!line)
return false; return false;
unsigned int vis_column = 0; unsigned int vis_column = 0;
@ -84,13 +85,8 @@ get_visual_column (expanded_location exploc,
static bool static bool
line_contains_hash_if (const char *file, int line_num) line_contains_hash_if (const char *file, int line_num)
{ {
expanded_location exploc;
exploc.file = file;
exploc.line = line_num;
exploc.column = 1;
int line_len; int line_len;
const char *line = location_get_source_line (exploc, &line_len); const char *line = location_get_source_line (file, line_num, &line_len);
if (!line) if (!line)
return false; return false;

View File

@ -377,7 +377,8 @@ diagnostic_print_caret_line (diagnostic_context * context,
int cmax = MAX (xloc1.column, xloc2.column); int cmax = MAX (xloc1.column, xloc2.column);
int line_width; int line_width;
const char *line = location_get_source_line (xloc1, &line_width); const char *line = location_get_source_line (xloc1.file, xloc1.line,
&line_width);
if (line == NULL || cmax > line_width) if (line == NULL || cmax > line_width)
return; return;

View File

@ -684,27 +684,27 @@ read_line_num (fcache *c, size_t line_num,
return read_next_line (c, line, line_len); return read_next_line (c, line, line_len);
} }
/* Return the physical source line that corresponds to xloc in a /* Return the physical source line that corresponds to FILE_PATH/LINE in a
buffer that is statically allocated. The newline is replaced by buffer that is statically allocated. The newline is replaced by
the null character. Note that the line can contain several null the null character. Note that the line can contain several null
characters, so LINE_LEN, if non-null, points to the actual length characters, so LINE_LEN, if non-null, points to the actual length
of the line. */ of the line. */
const char * const char *
location_get_source_line (expanded_location xloc, location_get_source_line (const char *file_path, int line,
int *line_len) int *line_len)
{ {
static char *buffer; static char *buffer;
static ssize_t len; static ssize_t len;
if (xloc.line == 0) if (line == 0)
return NULL; return NULL;
fcache *c = lookup_or_add_file_to_cache_tab (xloc.file); fcache *c = lookup_or_add_file_to_cache_tab (file_path);
if (c == NULL) if (c == NULL)
return NULL; return NULL;
bool read = read_line_num (c, xloc.line, &buffer, &len); bool read = read_line_num (c, line, &buffer, &len);
if (read && line_len) if (read && line_len)
*line_len = len; *line_len = len;
@ -971,7 +971,9 @@ dump_location_info (FILE *stream)
/* Beginning of a new source line: draw the line. */ /* Beginning of a new source line: draw the line. */
int line_size; int line_size;
const char *line_text = location_get_source_line (exploc, &line_size); const char *line_text = location_get_source_line (exploc.file,
exploc.line,
&line_size);
if (!line_text) if (!line_text)
break; break;
fprintf (stream, fprintf (stream,

View File

@ -38,7 +38,7 @@ extern char builtins_location_check[(BUILTINS_LOCATION
extern bool is_location_from_builtin_token (source_location); extern bool is_location_from_builtin_token (source_location);
extern expanded_location expand_location (source_location); extern expanded_location expand_location (source_location);
extern const char *location_get_source_line (expanded_location xloc, extern const char *location_get_source_line (const char *file_path, int line,
int *line_size); int *line_size);
extern expanded_location expand_location_to_spelling_point (source_location); extern expanded_location expand_location_to_spelling_point (source_location);
extern source_location expansion_point_location_if_in_system_header (source_location); extern source_location expansion_point_location_if_in_system_header (source_location);