aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2025-08-04 10:45:30 -0400
committerDavid Malcolm <dmalcolm@redhat.com>2025-08-04 10:45:30 -0400
commit74f59bf10dfef19504060fba998bcde364ab996c (patch)
tree2a77e22c6b94257bfcbc7fa086c5f3c3d5096edb
parent7dea2582b3a5e460792a6961d4d47fab94f89f78 (diff)
downloadgcc-74f59bf10dfef19504060fba998bcde364ab996c.zip
gcc-74f59bf10dfef19504060fba998bcde364ab996c.tar.gz
gcc-74f59bf10dfef19504060fba998bcde364ab996c.tar.bz2
diagnostics: move diagnostics::counters to its own header
gcc/ChangeLog: * diagnostics/context.h: Move struct counters to its own header and include it. * diagnostics/counters.h: New file, from the above. Signed-off-by: David Malcolm <dmalcolm@redhat.com>
-rw-r--r--gcc/diagnostics/context.h23
-rw-r--r--gcc/diagnostics/counters.h51
2 files changed, 52 insertions, 22 deletions
diff --git a/gcc/diagnostics/context.h b/gcc/diagnostics/context.h
index e83cbf3..a5f1a41 100644
--- a/gcc/diagnostics/context.h
+++ b/gcc/diagnostics/context.h
@@ -26,6 +26,7 @@ along with GCC; see the file COPYING3. If not see
#include "diagnostics/option-id-manager.h"
#include "diagnostics/context-options.h"
#include "diagnostics/source-printing-options.h"
+#include "diagnostics/counters.h"
namespace diagnostics {
@@ -215,28 +216,6 @@ private:
enum diagnostics_escape_format m_escape_format;
};
-/* A collection of counters of diagnostics, per-kind
- (e.g. "3 errors and 1 warning"), for use by both context
- and by diagnostics::buffer. */
-
-struct counters
-{
- counters ();
-
- void dump (FILE *out, int indent) const;
- void DEBUG_FUNCTION dump () const { dump (stderr, 0); }
-
- int get_count (enum kind kind) const
- {
- return m_count_for_kind[static_cast<size_t> (kind)];
- }
-
- void move_to (counters &dest);
- void clear ();
-
- int m_count_for_kind[static_cast<size_t> (kind::last_diagnostic_kind)];
-};
-
/* This class encapsulates the state of the diagnostics subsystem
as a whole (either directly, or via owned objects of other classes, to
avoid global variables).
diff --git a/gcc/diagnostics/counters.h b/gcc/diagnostics/counters.h
new file mode 100644
index 0000000..42db3fe
--- /dev/null
+++ b/gcc/diagnostics/counters.h
@@ -0,0 +1,51 @@
+/* Counts of per-kind diagnostics.
+ Copyright (C) 2000-2025 Free Software Foundation, Inc.
+
+This file is part of GCC.
+
+GCC is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 3, or (at your option) any later
+version.
+
+GCC is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with GCC; see the file COPYING3. If not see
+<http://www.gnu.org/licenses/>. */
+
+#ifndef GCC_DIAGNOSTICS_COUNTERS_H
+#define GCC_DIAGNOSTICS_COUNTERS_H
+
+#include "diagnostics/kinds.h"
+
+namespace diagnostics {
+
+/* A collection of counters of diagnostics, per-kind
+ (e.g. "3 errors and 1 warning"), for use by both diagnostics::context
+ and by diagnostics::buffer. */
+
+struct counters
+{
+ counters ();
+
+ void dump (FILE *out, int indent) const;
+ void DEBUG_FUNCTION dump () const { dump (stderr, 0); }
+
+ int get_count (enum kind kind) const
+ {
+ return m_count_for_kind[static_cast<size_t> (kind)];
+ }
+
+ void move_to (counters &dest);
+ void clear ();
+
+ int m_count_for_kind[static_cast<size_t> (kind::last_diagnostic_kind)];
+};
+
+} // namespace diagnostics
+
+#endif /* ! GCC_DIAGNOSTICS_COUNTERS_H */