From: David Malcolm Date: Fri, 5 May 2017 21:03:07 +0000 (+0000) Subject: Get rid of macros for diagnostic_report_current_module X-Git-Tag: upstream/12.2.0~39719 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=26d5ed6ceaddb1ca32b34d556e57f082eb38a967;p=platform%2Fupstream%2Fgcc.git Get rid of macros for diagnostic_report_current_module diagnostic.h has a couple of macros (diagnostic_last_module_changed and diagnostic_set_last_module) which are only used within diagnostic_report_current_module. This patch eliminates the macros in favor of static functions within diagnostic.c. No functional change intended. gcc/ChangeLog: * diagnostic.c (last_module_changed_p): New function. (set_last_module): New function. (diagnostic_report_current_module): Convert macro usage to the above functions. * diagnostic.h (diagnostic_context::last_module): Strengthen from const line_map * to const line_map_ordinary *. (diagnostic_last_module_changed): Delete macro. (diagnostic_set_last_module): Delete macro. From-SVN: r247664 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 72c8c9e..56ec279 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,16 @@ 2017-05-05 David Malcolm + * diagnostic.c (last_module_changed_p): New function. + (set_last_module): New function. + (diagnostic_report_current_module): Convert macro usage to + the above functions. + * diagnostic.h (diagnostic_context::last_module): Strengthen + from const line_map * to const line_map_ordinary *. + (diagnostic_last_module_changed): Delete macro. + (diagnostic_set_last_module): Delete macro. + +2017-05-05 David Malcolm + * diagnostic.c (diagnostic_impl): Replace report_diagnostic with diagnostic_report_diagnostic. (diagnostic_n_impl_richloc): Likewise. diff --git a/gcc/diagnostic.c b/gcc/diagnostic.c index 815bdb0..1585196 100644 --- a/gcc/diagnostic.c +++ b/gcc/diagnostic.c @@ -534,6 +534,25 @@ diagnostic_action_after_output (diagnostic_context *context, } } +/* True if the last module or file in which a diagnostic was reported is + different from the current one. */ + +static bool +last_module_changed_p (diagnostic_context *context, + const line_map_ordinary *map) +{ + return context->last_module != map; +} + +/* Remember the current module or file as being the last one in which we + report a diagnostic. */ + +static void +set_last_module (diagnostic_context *context, const line_map_ordinary *map) +{ + context->last_module = map; +} + void diagnostic_report_current_module (diagnostic_context *context, location_t where) { @@ -552,9 +571,9 @@ diagnostic_report_current_module (diagnostic_context *context, location_t where) LRK_MACRO_DEFINITION_LOCATION, &map); - if (map && diagnostic_last_module_changed (context, map)) + if (map && last_module_changed_p (context, map)) { - diagnostic_set_last_module (context, map); + set_last_module (context, map); if (! MAIN_FILE_P (map)) { map = INCLUDED_FROM (line_table, map); diff --git a/gcc/diagnostic.h b/gcc/diagnostic.h index 846a158..89d5a08 100644 --- a/gcc/diagnostic.h +++ b/gcc/diagnostic.h @@ -189,7 +189,7 @@ struct diagnostic_context /* Used to detect when the input file stack has changed since last described. */ - const struct line_map *last_module; + const line_map_ordinary *last_module; int lock; @@ -241,16 +241,6 @@ diagnostic_inhibit_notes (diagnostic_context * context) /* Same as output_prefixing_rule. Works on 'diagnostic_context *'. */ #define diagnostic_prefixing_rule(DC) ((DC)->printer->wrapping.rule) -/* True if the last module or file in which a diagnostic was reported is - different from the current one. */ -#define diagnostic_last_module_changed(DC, MAP) \ - ((DC)->last_module != MAP) - -/* Remember the current module or file as being the last one in which we - report a diagnostic. */ -#define diagnostic_set_last_module(DC, MAP) \ - (DC)->last_module = MAP - /* Raise SIGABRT on any diagnostic of severity DK_ERROR or higher. */ #define diagnostic_abort_on_error(DC) \ (DC)->abort_on_error = true