summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/c-family/ChangeLog7
-rw-r--r--gcc/c-family/c-format.c2
-rw-r--r--gcc/c-family/c-indentation.c10
-rw-r--r--gcc/diagnostic.c3
-rw-r--r--gcc/input.c14
-rw-r--r--gcc/input.h2
7 files changed, 31 insertions, 16 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0305ca80d73..455afc330fa 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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>
* defaults.h (STACK_OLD_CHECK_PROTECT): Adjust for -fno-exceptions.
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog
index 888c28f505d..140cda5c81c 100644
--- a/gcc/c-family/ChangeLog
+++ b/gcc/c-family/ChangeLog
@@ -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>
* c-opts.c (c_common_post_options): Set C++ standard earlier, before
diff --git a/gcc/c-family/c-format.c b/gcc/c-family/c-format.c
index 2940f92d7d8..ab5807662eb 100644
--- a/gcc/c-family/c-format.c
+++ b/gcc/c-family/c-format.c
@@ -132,7 +132,7 @@ location_from_offset (location_t loc, int offset)
expanded_location s = expand_location_to_spelling_point (loc);
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)
return loc;
line += s.column - 1 ;
diff --git a/gcc/c-family/c-indentation.c b/gcc/c-family/c-indentation.c
index fdfe0a93412..dd3522360b4 100644
--- a/gcc/c-family/c-indentation.c
+++ b/gcc/c-family/c-indentation.c
@@ -45,7 +45,8 @@ get_visual_column (expanded_location exploc,
unsigned int *first_nws = NULL)
{
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)
return false;
unsigned int vis_column = 0;
@@ -84,13 +85,8 @@ get_visual_column (expanded_location exploc,
static bool
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;
- const char *line = location_get_source_line (exploc, &line_len);
+ const char *line = location_get_source_line (file, line_num, &line_len);
if (!line)
return false;
diff --git a/gcc/diagnostic.c b/gcc/diagnostic.c
index e5c3c1dbfec..a1ffe72ea95 100644
--- a/gcc/diagnostic.c
+++ b/gcc/diagnostic.c
@@ -377,7 +377,8 @@ diagnostic_print_caret_line (diagnostic_context * context,
int cmax = MAX (xloc1.column, xloc2.column);
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)
return;
diff --git a/gcc/input.c b/gcc/input.c
index 59cab5cebef..e7302a42589 100644
--- a/gcc/input.c
+++ b/gcc/input.c
@@ -684,27 +684,27 @@ read_line_num (fcache *c, size_t line_num,
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
the null character. Note that the line can contain several null
characters, so LINE_LEN, if non-null, points to the actual length
of the line. */
const char *
-location_get_source_line (expanded_location xloc,
+location_get_source_line (const char *file_path, int line,
int *line_len)
{
static char *buffer;
static ssize_t len;
- if (xloc.line == 0)
+ if (line == 0)
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)
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)
*line_len = len;
@@ -971,7 +971,9 @@ dump_location_info (FILE *stream)
/* Beginning of a new source line: draw the line. */
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)
break;
fprintf (stream,
diff --git a/gcc/input.h b/gcc/input.h
index 5ba4d3b46f5..07d8544ed6f 100644
--- a/gcc/input.h
+++ b/gcc/input.h
@@ -38,7 +38,7 @@ extern char builtins_location_check[(BUILTINS_LOCATION
extern bool is_location_from_builtin_token (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);
extern expanded_location expand_location_to_spelling_point (source_location);
extern source_location expansion_point_location_if_in_system_header (source_location);