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.
Successfully bootstrapped on x86_64-pc-linux-gnu.
Committed to trunk as r247664.
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.
---
gcc/diagnostic.c | 23 +--
gcc/diagnostic.h | 12 +---
2 files changed, 22 insertions(+), 13 deletions(-)
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,
);
- 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
--
1.8.5.3