diff options
author | Manuel López-Ibáñez <manu@gcc.gnu.org> | 2014-12-04 23:59:35 +0000 |
---|---|---|
committer | Manuel López-Ibáñez <manu@gcc.gnu.org> | 2014-12-04 23:59:35 +0000 |
commit | 99abe958d87a7cf653ea2ea9c467f7ebe0ba956d (patch) | |
tree | 5367afa1553141e677c4411189df8b007d01bd1c /gcc | |
parent | 1be71446897bf65257d37183f28355a3b5f9fe8e (diff) | |
download | gcc-99abe958d87a7cf653ea2ea9c467f7ebe0ba956d.zip gcc-99abe958d87a7cf653ea2ea9c467f7ebe0ba956d.tar.gz gcc-99abe958d87a7cf653ea2ea9c467f7ebe0ba956d.tar.bz2 |
error.c (gfc_diagnostic_build_locus_prefix): Use diagnostic_expand_location.
gcc/fortran/ChangeLog:
2014-12-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
* error.c (gfc_diagnostic_build_locus_prefix): Use
diagnostic_expand_location.
gcc/ChangeLog:
2014-12-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
* diagnostic.h (diagnostic_expand_location): New inline function.
* diagnostic.c (diagnostic_build_prefix): Use it.
(diagnostic_show_locus): Likewise.
From-SVN: r218409
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/diagnostic.c | 16 | ||||
-rw-r--r-- | gcc/diagnostic.h | 12 | ||||
-rw-r--r-- | gcc/fortran/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/fortran/error.c | 5 |
5 files changed, 30 insertions, 14 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 95e2d31..7858d20 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2014-12-05 Manuel López-Ibáñez <manu@gcc.gnu.org> + + * diagnostic.h (diagnostic_expand_location): New inline function. + * diagnostic.c (diagnostic_build_prefix): Use it. + (diagnostic_show_locus): Likewise. + 2014-12-04 H.J. Lu <hongjiu.lu@intel.com> PR bootstrap/64189 diff --git a/gcc/diagnostic.c b/gcc/diagnostic.c index 07ce602..28ef81c 100644 --- a/gcc/diagnostic.c +++ b/gcc/diagnostic.c @@ -260,6 +260,8 @@ diagnostic_build_prefix (diagnostic_context *context, #undef DEFINE_DIAGNOSTIC_KIND NULL }; + gcc_assert (diagnostic->kind < DK_LAST_DIAGNOSTIC_KIND); + const char *text = _(diagnostic_kind_text[diagnostic->kind]); const char *text_cs = "", *text_ce = ""; const char *locus_cs, *locus_ce; @@ -274,11 +276,7 @@ diagnostic_build_prefix (diagnostic_context *context, locus_cs = colorize_start (pp_show_color (pp), "locus"); locus_ce = colorize_stop (pp_show_color (pp)); - expanded_location s = expand_location_to_spelling_point (diagnostic->location); - if (diagnostic->override_column) - s.column = diagnostic->override_column; - gcc_assert (diagnostic->kind < DK_LAST_DIAGNOSTIC_KIND); - + expanded_location s = diagnostic_expand_location (diagnostic); return (s.file == NULL ? build_message_string ("%s%s:%s %s%s%s", locus_cs, progname, locus_ce, @@ -289,8 +287,8 @@ diagnostic_build_prefix (diagnostic_context *context, : context->show_column ? build_message_string ("%s%s:%d:%d:%s %s%s%s", locus_cs, s.file, s.line, s.column, locus_ce, text_cs, text, text_ce) - : build_message_string ("%s%s:%d:%s %s%s%s", locus_cs, s.file, s.line, locus_ce, - text_cs, text, text_ce)); + : build_message_string ("%s%s:%d:%s %s%s%s", locus_cs, s.file, s.line, + locus_ce, text_cs, text, text_ce)); } /* If LINE is longer than MAX_WIDTH, and COLUMN is not smaller than @@ -337,9 +335,7 @@ diagnostic_show_locus (diagnostic_context * context, return; context->last_location = diagnostic->location; - s = expand_location_to_spelling_point (diagnostic->location); - if (diagnostic->override_column) - s.column = diagnostic->override_column; + s = diagnostic_expand_location (diagnostic); line = location_get_source_line (s, &line_width); if (line == NULL || s.column > line_width) return; diff --git a/gcc/diagnostic.h b/gcc/diagnostic.h index 81e5988..3c4906a 100644 --- a/gcc/diagnostic.h +++ b/gcc/diagnostic.h @@ -297,6 +297,18 @@ void diagnostic_set_caret_max_width (diagnostic_context *context, int value); void diagnostic_file_cache_fini (void); +/* Expand the location of this diagnostic. Use this function for consistency. */ + +static inline expanded_location +diagnostic_expand_location (const diagnostic_info * diagnostic) +{ + expanded_location s + = expand_location_to_spelling_point (diagnostic->location); + if (diagnostic->override_column) + s.column = diagnostic->override_column; + return s; +} + /* Pure text formatting support functions. */ extern char *file_name_as_prefix (diagnostic_context *, const char *); diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 95605b7..b34084d 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,5 +1,10 @@ 2014-12-05 Manuel López-Ibáñez <manu@gcc.gnu.org> + * error.c (gfc_diagnostic_build_locus_prefix): Use + diagnostic_expand_location. + +2014-12-05 Manuel López-Ibáñez <manu@gcc.gnu.org> + * scanner.c (gfc_next_char_literal): Use gfc_warning_now. (load_file): Use the line length as the column hint for linemap_line_start. Reserve a location for the highest column of diff --git a/gcc/fortran/error.c b/gcc/fortran/error.c index d6475f3..333ad00 100644 --- a/gcc/fortran/error.c +++ b/gcc/fortran/error.c @@ -1143,10 +1143,7 @@ gfc_diagnostic_build_locus_prefix (diagnostic_context *context, pretty_printer *pp = context->printer; const char *locus_cs = colorize_start (pp_show_color (pp), "locus"); const char *locus_ce = colorize_stop (pp_show_color (pp)); - expanded_location s = expand_location_to_spelling_point (diagnostic->location); - if (diagnostic->override_column) - s.column = diagnostic->override_column; - + expanded_location s = diagnostic_expand_location (diagnostic); return (s.file == NULL ? build_message_string ("%s%s:%s", locus_cs, progname, locus_ce ) : !strcmp (s.file, N_("<built-in>")) |