https://gcc.gnu.org/g:c4d211bba2a86b90ee20a4f6f2cd1af1a036ee26
commit r16-1716-gc4d211bba2a86b90ee20a4f6f2cd1af1a036ee26 Author: David Malcolm <dmalc...@redhat.com> Date: Thu Jun 26 13:29:36 2025 -0400 diagnostics: make 5 more fields of diagnostic_context private 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 <dmalc...@redhat.com> Diff: --- gcc/ada/gcc-interface/misc.cc | 2 +- gcc/c-family/c-opts.cc | 2 +- gcc/cp/error.cc | 2 +- gcc/diagnostic.h | 43 +++++++++++++++++++++++++++++++++---------- gcc/opts.cc | 2 +- gcc/toplev.cc | 6 +++--- 6 files changed, 40 insertions(+), 17 deletions(-) diff --git a/gcc/ada/gcc-interface/misc.cc b/gcc/ada/gcc-interface/misc.cc index ca5c9a2163ee..128040e4d90d 100644 --- a/gcc/ada/gcc-interface/misc.cc +++ b/gcc/ada/gcc-interface/misc.cc @@ -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; } diff --git a/gcc/c-family/c-opts.cc b/gcc/c-family/c-opts.cc index 697518637df3..3ee9444cbefe 100644 --- a/gcc/c-family/c-opts.cc +++ b/gcc/c-family/c-opts.cc @@ -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. */ diff --git a/gcc/cp/error.cc b/gcc/cp/error.cc index 69da381a355b..abeb0285eec6 100644 --- a/gcc/cp/error.cc +++ b/gcc/cp/error.cc @@ -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. */ diff --git a/gcc/diagnostic.h b/gcc/diagnostic.h index f9c8253395b9..9df429275f0b 100644 --- a/gcc/diagnostic.h +++ b/gcc/diagnostic.h @@ -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 & diff --git a/gcc/opts.cc b/gcc/opts.cc index a9b9b9148a95..4e39b9591522 100644 --- a/gcc/opts.cc +++ b/gcc/opts.cc @@ -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_: diff --git a/gcc/toplev.cc b/gcc/toplev.cc index 7e457b5168b4..00a8ccb7a692 100644 --- a/gcc/toplev.cc +++ b/gcc/toplev.cc @@ -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 ()) {