]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
diagnostics: make 5 more fields of diagnostic_context private
authorDavid Malcolm <dmalcolm@redhat.com>
Thu, 26 Jun 2025 17:29:36 +0000 (13:29 -0400)
committerDavid Malcolm <dmalcolm@redhat.com>
Thu, 26 Jun 2025 17:29:36 +0000 (13:29 -0400)
No functional change intended.

gcc/ada/ChangeLog:
* gcc-interface/misc.cc (gnat_init): Use
diagnostic_context::set_internal_error_callback.

gcc/c-family/ChangeLog:
* c-opts.cc (c_common_diagnostics_set_defaults): Use
diagnostic_context::set_permissive_option.

gcc/cp/ChangeLog:
* error.cc (cxx_initialize_diagnostics): Use
diagnostic_context::set_adjust_diagnostic_info_callback.

gcc/ChangeLog:
* diagnostic.h (diagnostic_context::set_permissive_option): New.
(diagnostic_context::set_fatal_errors): New.
(diagnostic_context::set_internal_error_callback): New.
(diagnostic_context::set_adjust_diagnostic_info_callback): New.
(diagnostic_context::inhibit_notes): New.
(diagnostic_context::m_opt_permissive): Make private.
(diagnostic_context::m_fatal_errors): Likewise.
(diagnostic_context::m_internal_error): Likewise.
(diagnostic_context::m_adjust_diagnostic_info): Likewise.
(diagnostic_context::m_inhibit_notes_p): Likewise.
(diagnostic_inhibit_notes): Delete.
* opts.cc (common_handle_option): Use
diagnostic_context::set_fatal_errors.
* toplev.cc (internal_error_function): Use
diagnostic_context::set_internal_error_callback.
(general_init): Likewise.
(process_options): Use diagnostic_context::inhibit_notes.

Signed-off-by: David Malcolm <dmalcolm@redhat.com>
gcc/ada/gcc-interface/misc.cc
gcc/c-family/c-opts.cc
gcc/cp/error.cc
gcc/diagnostic.h
gcc/opts.cc
gcc/toplev.cc

index ca5c9a2163ee7a7bd88643b8f630063e8267fb6f..128040e4d90d3f93dd3a8289df0278cb3e83c7b3 100644 (file)
@@ -377,7 +377,7 @@ gnat_init (void)
   line_table->default_range_bits = 0;
 
   /* Register our internal error function.  */
-  global_dc->m_internal_error = &internal_error_function;
+  global_dc->set_internal_error_callback (&internal_error_function);
 
   return true;
 }
index 697518637df3ca68e3626750c38b26e43305919b..3ee9444cbefe9639cfe259787b15f5fe4c5a8e0d 100644 (file)
@@ -192,7 +192,7 @@ void
 c_common_diagnostics_set_defaults (diagnostic_context *context)
 {
   diagnostic_text_finalizer (context) = c_diagnostic_text_finalizer;
-  context->m_opt_permissive = OPT_fpermissive;
+  context->set_permissive_option (OPT_fpermissive);
 }
 
 /* Input charset configuration for diagnostics.  */
index 69da381a355b16696cb7881f610b4b6042034a21..abeb0285eec6861d0b7b785acbbc7d13d0961055 100644 (file)
@@ -308,7 +308,7 @@ cxx_initialize_diagnostics (diagnostic_context *context)
   diagnostic_text_starter (context) = cp_diagnostic_text_starter;
   /* diagnostic_finalizer is already c_diagnostic_text_finalizer.  */
   context->set_format_decoder (cp_printer);
-  context->m_adjust_diagnostic_info = cp_adjust_diagnostic_info;
+  context->set_adjust_diagnostic_info_callback (cp_adjust_diagnostic_info);
 }
 
 /* Dump an '@module' name suffix for DECL, if it's attached to an import.  */
index f9c8253395b94c9147e18f9d0d8bcdd6653f1cf9..9df429275f0b24b507231bc3a8140e030f521639 100644 (file)
@@ -842,6 +842,36 @@ public:
 
   void set_main_input_filename (const char *filename);
 
+  void
+  set_permissive_option (diagnostic_option_id opt_permissive)
+  {
+    m_opt_permissive = opt_permissive;
+  }
+
+  void
+  set_fatal_errors (bool fatal_errors)
+  {
+    m_fatal_errors = fatal_errors;
+  }
+
+  void
+  set_internal_error_callback (void (*cb) (diagnostic_context *,
+                                          const char *,
+                                          va_list *))
+  {
+    m_internal_error = cb;
+  }
+
+  void
+  set_adjust_diagnostic_info_callback (void (*cb) (diagnostic_context *,
+                                                  diagnostic_info *))
+  {
+    m_adjust_diagnostic_info = cb;
+  }
+
+  void
+  inhibit_notes () { m_inhibit_notes_p = true; }
+
 private:
   void error_recursion () ATTRIBUTE_NORETURN;
 
@@ -911,6 +941,7 @@ public:
   /* True if permerrors are warnings.  */
   bool m_permissive;
 
+private:
   /* The option to associate with turning permerrors into warnings,
      if any.  */
   diagnostic_option_id m_opt_permissive;
@@ -918,6 +949,7 @@ public:
   /* True if errors are fatal.  */
   bool m_fatal_errors;
 
+public:
   /* True if all warnings should be disabled.  */
   bool m_inhibit_warnings;
 
@@ -949,7 +981,6 @@ private:
     diagnostic_text_finalizer_fn m_end_diagnostic;
   } m_text_callbacks;
 
-public:
   /* Client hook to report an internal error.  */
   void (*m_internal_error) (diagnostic_context *, const char *, va_list *);
 
@@ -957,7 +988,6 @@ public:
      about to issue, such as its kind.  */
   void (*m_adjust_diagnostic_info)(diagnostic_context *, diagnostic_info *);
 
-private:
   /* Owned by the context; this would be a std::unique_ptr if
      diagnostic_context had a proper ctor.  */
   diagnostic_option_manager *m_option_mgr;
@@ -984,9 +1014,9 @@ public:
 private:
   int m_lock;
 
-public:
   bool m_inhibit_notes_p;
 
+public:
   diagnostic_source_printing_options m_source_printing;
 
 private:
@@ -1083,13 +1113,6 @@ private:
   diagnostic_buffer *m_diagnostic_buffer;
 };
 
-inline void
-diagnostic_inhibit_notes (diagnostic_context * context)
-{
-  context->m_inhibit_notes_p = true;
-}
-
-
 /* Client supplied function to announce a diagnostic
    (for text-based diagnostic output).  */
 inline diagnostic_text_starter_fn &
index a9b9b9148a9593e4aa2229b3025404f2f1c42552..4e39b95915226bf74d9839be5af06751c6f0283a 100644 (file)
@@ -2872,7 +2872,7 @@ common_handle_option (struct gcc_options *opts,
       break;
 
     case OPT_Wfatal_errors:
-      dc->m_fatal_errors = value;
+      dc->set_fatal_errors (value);
       break;
 
     case OPT_Wstack_usage_:
index 7e457b5168b4b942a4841d893a9df620b45ef23e..00a8ccb7a6924afe45cf47db1b9f5163c4c6459f 100644 (file)
@@ -1029,7 +1029,7 @@ internal_error_reentered (diagnostic_context *, const char *, va_list *)
 static void
 internal_error_function (diagnostic_context *, const char *, va_list *)
 {
-  global_dc->m_internal_error = internal_error_reentered;
+  global_dc->set_internal_error_callback (internal_error_reentered);
   warn_if_plugins ();
   emergency_dump_function ();
 }
@@ -1091,7 +1091,7 @@ general_init (const char *argv0, bool init_signals, unique_argv original_argv)
     = global_options_init.x_flag_show_column;
   global_dc->set_show_highlight_colors
     (global_options_init.x_flag_diagnostics_show_highlight_colors);
-  global_dc->m_internal_error = internal_error_function;
+  global_dc->set_internal_error_callback (internal_error_function);
   const unsigned lang_mask = lang_hooks.option_lang_mask ();
   global_dc->set_option_manager
     (std::make_unique<compiler_diagnostic_option_manager> (*global_dc,
@@ -1289,7 +1289,7 @@ process_options ()
 
   /* Avoid any informative notes in the second run of -fcompare-debug.  */
   if (flag_compare_debug)
-    diagnostic_inhibit_notes (global_dc);
+    global_dc->inhibit_notes ();
 
   if (flag_section_anchors && !target_supports_section_anchors_p ())
     {