From 99abe958d87a7cf653ea2ea9c467f7ebe0ba956d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Manuel=20L=C3=B3pez-Ib=C3=A1=C3=B1ez?= Date: Thu, 4 Dec 2014 23:59:35 +0000 Subject: [PATCH] error.c (gfc_diagnostic_build_locus_prefix): Use diagnostic_expand_location. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit gcc/fortran/ChangeLog: 2014-12-05 Manuel López-Ibáñez * error.c (gfc_diagnostic_build_locus_prefix): Use diagnostic_expand_location. gcc/ChangeLog: 2014-12-05 Manuel López-Ibáñez * diagnostic.h (diagnostic_expand_location): New inline function. * diagnostic.c (diagnostic_build_prefix): Use it. (diagnostic_show_locus): Likewise. From-SVN: r218409 --- gcc/ChangeLog | 6 ++++++ gcc/diagnostic.c | 16 ++++++---------- gcc/diagnostic.h | 12 ++++++++++++ gcc/fortran/ChangeLog | 5 +++++ 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 + + * 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 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 + * error.c (gfc_diagnostic_build_locus_prefix): Use + diagnostic_expand_location. + +2014-12-05 Manuel López-Ibáñez + * 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_("")) -- 2.7.4