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>
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;
}
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. */
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. */
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;
/* 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;
/* True if errors are fatal. */
bool m_fatal_errors;
+public:
/* True if all warnings should be disabled. */
bool m_inhibit_warnings;
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 *);
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;
private:
int m_lock;
-public:
bool m_inhibit_notes_p;
+public:
diagnostic_source_printing_options m_source_printing;
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 &
break;
case OPT_Wfatal_errors:
- dc->m_fatal_errors = value;
+ dc->set_fatal_errors (value);
break;
case OPT_Wstack_usage_:
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 ();
}
= 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,
/* 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 ())
{