https://gcc.gnu.org/g:c9c996d3f0373e912b43da5a601c9677a2d9b3b4

commit r16-2527-gc9c996d3f0373e912b43da5a601c9677a2d9b3b4
Author: David Malcolm <dmalc...@redhat.com>
Date:   Fri Jul 25 15:13:36 2025 -0400

    diagnostics: move diagnostics_output_spec to diagnostics::output_spec
    
    No functional change intended.
    
    gcc/ChangeLog:
            * Makefile.in (OBJS-libcommon): Replace diagnostic-output-spec.o
            with diagnostics/output-spec.o.
            * diagnostic-output-spec.cc: Move to...
            * diagnostics/output-spec.cc: ...here.  Update #include for
            move of diagnostic-output-spec.h to diagnostics/output-spec.h.
            (namespace::diagnostics_output_spec): Replace with...
            (namespace diagnostics::output_spec): ...this, removing redundant
            prefixes.
            (diagnostics_output_spec::gcc_spec_context): Replace with...
            (diagnostics::output_spec::dc_spec_context): ...this.
            (diagnostic_output_spec_cc_tests): Rename to...
            (diagnostics_output_spec_cc_tests): ...this.
            * diagnostic-output-spec.h: Move to...
            * diagnostics/output-spec.h: ...here and update inclusion guard.
            (namespace::diagnostics_output_spec): Replace with...
            (namespace diagnostics::output_spec): ...this, removing redundant
            prefixes.
            (diagnostics_output_spec::gcc_spec_context): Replace with...
            (diagnostics::output_spec::dc_spec_context): ...this.
            * libgdiagnostics.cc: Update #include for move of
            diagnostic-output-spec.h to diagnostics/output-spec.h.
            * opts-diagnostic.cc: Likewise.  Update for namespace and name
            changes.
            * selftest-run-tests.cc (selftest::run_tests): Update for renaming
            of diagnostic_output_spec_cc_tests to
            diagnostics_output_spec_cc_tests.
            * selftest.h (diagnostic_output_spec_cc_tests): Rename decl to...
            (diagnostics_output_spec_cc_tests): ...this.
    
    Signed-off-by: David Malcolm <dmalc...@redhat.com>

Diff:
---
 gcc/Makefile.in                                    |  2 +-
 .../output-spec.cc}                                | 56 +++++++++++-----------
 .../output-spec.h}                                 | 26 +++++-----
 gcc/libgdiagnostics.cc                             |  4 +-
 gcc/opts-diagnostic.cc                             | 16 +++----
 gcc/selftest-run-tests.cc                          |  2 +-
 gcc/selftest.h                                     |  2 +-
 7 files changed, 56 insertions(+), 52 deletions(-)

diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 7610debabcd7..f263f905f951 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -1858,12 +1858,12 @@ OBJS-libcommon = diagnostic-spec.o diagnostic.o 
diagnostic-color.o \
        diagnostic-format-text.o \
        diagnostic-global-context.o \
        diagnostic-macro-unwinding.o \
-       diagnostic-output-spec.o \
        diagnostic-path.o \
        diagnostic-path-output.o \
        diagnostic-show-locus.o \
        diagnostics/digraphs.o \
        diagnostics/edit-context.o \
+       diagnostics/output-spec.o \
        diagnostics/state-graphs.o \
        diagnostics/state-graphs-to-dot.o \
        diagnostics/selftest-logical-locations.o \
diff --git a/gcc/diagnostic-output-spec.cc b/gcc/diagnostics/output-spec.cc
similarity index 95%
rename from gcc/diagnostic-output-spec.cc
rename to gcc/diagnostics/output-spec.cc
index b028482c5e66..35d593e11dbb 100644
--- a/gcc/diagnostic-output-spec.cc
+++ b/gcc/diagnostics/output-spec.cc
@@ -40,12 +40,13 @@ along with GCC; see the file COPYING3.  If not see
 #include "selftest.h"
 #include "selftest-diagnostic.h"
 #include "pretty-print-markup.h"
-#include "diagnostic-output-spec.h"
+#include "diagnostics/output-spec.h"
 
 /* A namespace for handling the DSL of the arguments of
    -fdiagnostics-add-output= and -fdiagnostics-set-output=.  */
 
-namespace diagnostics_output_spec {
+namespace diagnostics {
+namespace output_spec {
 
 /* Decls.  */
 
@@ -241,16 +242,16 @@ context::report_missing_key (const char *unparsed_arg,
      get_option_name (), scheme_name.c_str (), key.c_str (), metavar);
 }
 
-diagnostics::output_file
+output_file
 context::open_output_file (label_text &&filename) const
 {
   FILE *outf = fopen (filename.get (), "w");
   if (!outf)
     {
       report_error ("unable to open %qs: %m", filename.get ());
-      return diagnostics::output_file (nullptr, false, std::move (filename));
+      return output_file (nullptr, false, std::move (filename));
     }
-  return diagnostics::output_file (outf, true, std::move (filename));
+  return output_file (outf, true, std::move (filename));
 }
 
 static std::unique_ptr<scheme_name_and_params>
@@ -307,11 +308,11 @@ std::unique_ptr<diagnostic_output_format>
 context::parse_and_make_sink (const char *unparsed_arg,
                              diagnostic_context &dc)
 {
-  auto parsed_arg = diagnostics_output_spec::parse (*this, unparsed_arg);
+  auto parsed_arg = parse (*this, unparsed_arg);
   if (!parsed_arg)
     return nullptr;
 
-  diagnostics_output_spec::output_factory factory;
+  output_factory factory;
   return factory.make_sink (*this, dc, unparsed_arg, *parsed_arg);
 }
 
@@ -488,9 +489,9 @@ sarif_scheme_handler::make_sink (const context &ctxt,
       return nullptr;
     }
 
-  diagnostics::output_file output_file;
+  output_file output_file_;
   if (filename.get ())
-    output_file = ctxt.open_output_file (std::move (filename));
+    output_file_ = ctxt.open_output_file (std::move (filename));
   else
     // Default filename
     {
@@ -503,14 +504,14 @@ sarif_scheme_handler::make_sink (const context &ctxt,
                                   "FILENAME");
          return nullptr;
        }
-      output_file
+      output_file_
        = diagnostic_output_format_open_sarif_file
            (dc,
             ctxt.get_affected_location_mgr (),
             basename,
             serialization_kind);
     }
-  if (!output_file)
+  if (!output_file_)
     return nullptr;
 
   auto sarif_gen_opts = make_sarif_gen_opts (version, state_graph);
@@ -521,7 +522,7 @@ sarif_scheme_handler::make_sink (const context &ctxt,
                               *ctxt.get_affected_location_mgr (),
                               std::move (serialization_obj),
                               sarif_gen_opts,
-                              std::move (output_file));
+                              std::move (output_file_));
   return sink;
 }
 
@@ -621,9 +622,9 @@ html_scheme_handler::make_sink (const context &ctxt,
       return nullptr;
     }
 
-  diagnostics::output_file output_file;
+  output_file output_file_;
   if (filename.get ())
-    output_file = ctxt.open_output_file (std::move (filename));
+    output_file_ = ctxt.open_output_file (std::move (filename));
   else
     // Default filename
     {
@@ -636,13 +637,13 @@ html_scheme_handler::make_sink (const context &ctxt,
                                   "FILENAME");
          return nullptr;
        }
-      output_file
+      output_file_
        = diagnostic_output_format_open_html_file
            (dc,
             ctxt.get_affected_location_mgr (),
             basename);
     }
-  if (!output_file)
+  if (!output_file_)
     return nullptr;
 
   html_generation_options html_gen_opts;
@@ -655,11 +656,12 @@ html_scheme_handler::make_sink (const context &ctxt,
   auto sink = make_html_sink (dc,
                              *ctxt.get_affected_location_mgr (),
                              html_gen_opts,
-                             std::move (output_file));
+                             std::move (output_file_));
   return sink;
 }
 
-} // namespace diagnostics_output_spec
+} // namespace output_spec
+} // namespace diagnostics
 
 #if CHECKING_P
 
@@ -688,18 +690,18 @@ private:
 
 struct parser_test
 {
-  class test_spec_context : public diagnostics_output_spec::gcc_spec_context
+  class test_spec_context : public diagnostics::output_spec::dc_spec_context
   {
   public:
     test_spec_context (diagnostic_context &dc,
                       line_maps *location_mgr,
                       location_t loc,
                       const char *option_name)
-    : gcc_spec_context (dc,
-                       location_mgr,
-                       location_mgr,
-                       loc,
-                       option_name)
+    : dc_spec_context (dc,
+                      location_mgr,
+                      location_mgr,
+                      loc,
+                      option_name)
     {
     }
 
@@ -718,10 +720,10 @@ struct parser_test
     pp_buffer (m_fmt.get_printer ())->m_flush_p = false;
   }
 
-  std::unique_ptr<diagnostics_output_spec::scheme_name_and_params>
+  std::unique_ptr<diagnostics::output_spec::scheme_name_and_params>
   parse (const char *unparsed_arg)
   {
-    return diagnostics_output_spec::parse (m_ctxt, unparsed_arg);
+    return diagnostics::output_spec::parse (m_ctxt, unparsed_arg);
   }
 
   bool execution_failed_p () const
@@ -838,7 +840,7 @@ test_output_arg_parsing ()
 /* Run all of the selftests within this file.  */
 
 void
-diagnostic_output_spec_cc_tests ()
+diagnostics_output_spec_cc_tests ()
 {
   test_output_arg_parsing ();
 }
diff --git a/gcc/diagnostic-output-spec.h b/gcc/diagnostics/output-spec.h
similarity index 85%
rename from gcc/diagnostic-output-spec.h
rename to gcc/diagnostics/output-spec.h
index 1ffe4a38b4fe..49a84b283181 100644
--- a/gcc/diagnostic-output-spec.h
+++ b/gcc/diagnostics/output-spec.h
@@ -18,13 +18,14 @@ 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_DIAGNOSTIC_OUTPUT_SPEC_H
-#define GCC_DIAGNOSTIC_OUTPUT_SPEC_H
+#ifndef GCC_DIAGNOSTICS_OUTPUT_SPEC_H
+#define GCC_DIAGNOSTICS_OUTPUT_SPEC_H
 
 #include "diagnostic-format.h"
 #include "diagnostics/output-file.h"
 
-namespace diagnostics_output_spec {
+namespace diagnostics {
+namespace output_spec {
 
 /* An abstract base class for handling the DSL of -fdiagnostics-add-output=
    and -fdiagnostics-set-output=.  */
@@ -52,7 +53,7 @@ class context
                      const std::string &scheme_name,
                      const char *metavar) const;
 
-  diagnostics::output_file
+  output_file
   open_output_file (label_text &&filename) const;
 
   const char *
@@ -83,14 +84,14 @@ protected:
 
 /* A subclass that implements reporting errors via a diagnostic_context.  */
 
-struct gcc_spec_context : public diagnostics_output_spec::context
+struct dc_spec_context : public output_spec::context
 {
 public:
-  gcc_spec_context (diagnostic_context &dc,
-                   line_maps *affected_location_mgr,
-                   line_maps *control_location_mgr,
-                   location_t loc,
-                   const char *option_name)
+  dc_spec_context (diagnostic_context &dc,
+                  line_maps *affected_location_mgr,
+                  line_maps *control_location_mgr,
+                  location_t loc,
+                  const char *option_name)
   : context (option_name, affected_location_mgr),
     m_dc (dc),
     m_control_location_mgr (control_location_mgr),
@@ -111,6 +112,7 @@ public:
   location_t m_loc;
 };
 
-} // namespace diagnostics_output_spec
+} // namespace output_spec
+} // namespace diagnostics
 
-#endif
+#endif // #ifndef GCC_DIAGNOSTICS_OUTPUT_SPEC_H
diff --git a/gcc/libgdiagnostics.cc b/gcc/libgdiagnostics.cc
index 692fca7289a4..b1bd0147bae2 100644
--- a/gcc/libgdiagnostics.cc
+++ b/gcc/libgdiagnostics.cc
@@ -32,7 +32,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "diagnostics/client-data-hooks.h"
 #include "diagnostic-format-sarif.h"
 #include "diagnostic-format-text.h"
-#include "diagnostic-output-spec.h"
+#include "diagnostics/output-spec.h"
 #include "diagnostics/digraphs.h"
 #include "diagnostics/state-graphs.h"
 #include "diagnostics/logical-locations.h"
@@ -2419,7 +2419,7 @@ diagnostic_logical_location_get_decorated_name (const 
diagnostic_logical_locatio
 
 namespace {
 
-struct spec_context : public diagnostics_output_spec::context
+struct spec_context : public diagnostics::output_spec::context
 {
 public:
   spec_context (const char *option_name,
diff --git a/gcc/opts-diagnostic.cc b/gcc/opts-diagnostic.cc
index d2c3a932e2a0..9c08f8b647da 100644
--- a/gcc/opts-diagnostic.cc
+++ b/gcc/opts-diagnostic.cc
@@ -20,7 +20,7 @@ along with GCC; see the file COPYING3.  If not see
 
 /* This file implements the options -fdiagnostics-add-output=,
    -fdiagnostics-set-output=.  Most of the work is done
-   by diagnostic-output-spec.cc so it can be shared by libgdiagnostics.  */
+   by diagnostics/output-spec.cc so it can be shared by libgdiagnostics.  */
 
 #include "config.h"
 #define INCLUDE_ARRAY
@@ -31,7 +31,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "version.h"
 #include "intl.h"
 #include "diagnostic.h"
-#include "diagnostic-output-spec.h"
+#include "diagnostics/output-spec.h"
 #include "opts.h"
 #include "options.h"
 
@@ -39,7 +39,7 @@ along with GCC; see the file COPYING3.  If not see
 
 namespace {
 
-struct opt_spec_context : public diagnostics_output_spec::gcc_spec_context
+struct opt_spec_context : public diagnostics::output_spec::dc_spec_context
 {
 public:
   opt_spec_context (const gcc_options &opts,
@@ -47,11 +47,11 @@ public:
                    line_maps *location_mgr,
                    location_t loc,
                    const char *option_name)
-  : gcc_spec_context (dc,
-                     location_mgr,
-                     location_mgr,
-                     loc,
-                     option_name),
+  : dc_spec_context (dc,
+                    location_mgr,
+                    location_mgr,
+                    loc,
+                    option_name),
     m_opts (opts)
   {}
 
diff --git a/gcc/selftest-run-tests.cc b/gcc/selftest-run-tests.cc
index 734959a5ba62..81434cd6ddc0 100644
--- a/gcc/selftest-run-tests.cc
+++ b/gcc/selftest-run-tests.cc
@@ -103,7 +103,7 @@ selftest::run_tests ()
   diagnostic_format_html_cc_tests ();
   diagnostic_format_sarif_cc_tests ();
   diagnostics_digraphs_cc_tests ();
-  diagnostic_output_spec_cc_tests ();
+  diagnostics_output_spec_cc_tests ();
   diagnostics_state_graphs_cc_tests ();
   edit_context_cc_tests ();
   fold_const_cc_tests ();
diff --git a/gcc/selftest.h b/gcc/selftest.h
index f66f47214047..b125a2384b08 100644
--- a/gcc/selftest.h
+++ b/gcc/selftest.h
@@ -224,10 +224,10 @@ extern void dbgcnt_cc_tests ();
 extern void diagnostic_color_cc_tests ();
 extern void diagnostic_format_html_cc_tests ();
 extern void diagnostic_format_sarif_cc_tests ();
-extern void diagnostic_output_spec_cc_tests ();
 extern void diagnostic_path_output_cc_tests ();
 extern void diagnostic_show_locus_cc_tests ();
 extern void diagnostics_digraphs_cc_tests ();
+extern void diagnostics_output_spec_cc_tests ();
 extern void diagnostics_selftest_logical_locations_cc_tests ();
 extern void diagnostics_state_graphs_cc_tests ();
 extern void digraph_cc_tests ();

Reply via email to