diff options
author | David Malcolm <dmalcolm@redhat.com> | 2023-11-06 14:28:41 -0500 |
---|---|---|
committer | David Malcolm <dmalcolm@redhat.com> | 2023-11-06 14:28:41 -0500 |
commit | a526cc6ff32e22e1a948c1c5f30d977d440c8da5 (patch) | |
tree | 6d04f2fdcb23500e9435eb0be622baf1be17440b /gcc | |
parent | 579bb65cdd35a421d731b64ecc8a31064abc73a9 (diff) | |
download | gcc-a526cc6ff32e22e1a948c1c5f30d977d440c8da5.zip gcc-a526cc6ff32e22e1a948c1c5f30d977d440c8da5.tar.gz gcc-a526cc6ff32e22e1a948c1c5f30d977d440c8da5.tar.bz2 |
diagnostics: make diagnostic_context::m_urlifier private
No functional change intended.
gcc/ChangeLog:
* diagnostic.cc (diagnostic_context::set_urlifier): New.
* diagnostic.h (diagnostic_context::set_urlifier): New decl.
(diagnostic_context::m_urlifier): Make private.
* gcc.cc (driver::global_initializations): Use set_urlifier rather
than directly setting field.
* toplev.cc (general_init): Likewise.
Signed-off-by: David Malcolm <dmalcolm@redhat.com>
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/diagnostic.cc | 8 | ||||
-rw-r--r-- | gcc/diagnostic.h | 3 | ||||
-rw-r--r-- | gcc/gcc.cc | 2 | ||||
-rw-r--r-- | gcc/toplev.cc | 2 |
4 files changed, 13 insertions, 2 deletions
diff --git a/gcc/diagnostic.cc b/gcc/diagnostic.cc index 90103e1..c617b34 100644 --- a/gcc/diagnostic.cc +++ b/gcc/diagnostic.cc @@ -374,6 +374,14 @@ diagnostic_context::set_client_data_hooks (diagnostic_client_data_hooks *hooks) } void +diagnostic_context::set_urlifier (urlifier *urlifier) +{ + /* Ideally we'd use a std::unique_ptr here. */ + delete m_urlifier; + m_urlifier = urlifier; +} + +void diagnostic_context::create_edit_context () { delete m_edit_context_ptr; diff --git a/gcc/diagnostic.h b/gcc/diagnostic.h index 4ef031b..f9950ec 100644 --- a/gcc/diagnostic.h +++ b/gcc/diagnostic.h @@ -297,6 +297,7 @@ public: void set_output_format (diagnostic_output_format *output_format); void set_text_art_charset (enum diagnostic_text_art_charset charset); void set_client_data_hooks (diagnostic_client_data_hooks *hooks); + void set_urlifier (urlifier *); void create_edit_context (); void set_warning_as_error_requested (bool val) { @@ -518,10 +519,12 @@ public: particular option. */ char *(*m_get_option_url) (diagnostic_context *, int); +private: /* An optional hook for adding URLs to quoted text strings in diagnostics. Only used for the main diagnostic message. */ urlifier *m_urlifier; +public: void (*m_print_path) (diagnostic_context *, const diagnostic_path *); json::value *(*m_make_json_for_path) (diagnostic_context *, const diagnostic_path *); @@ -8292,7 +8292,7 @@ driver::global_initializations () diagnostic_initialize (global_dc, 0); diagnostic_color_init (global_dc); diagnostic_urls_init (global_dc); - global_dc->m_urlifier = make_gcc_urlifier (); + global_dc->set_urlifier (make_gcc_urlifier ()); #ifdef GCC_DRIVER_HOST_INITIALIZATION /* Perform host dependent initialization when needed. */ diff --git a/gcc/toplev.cc b/gcc/toplev.cc index e39162a..d8e8978 100644 --- a/gcc/toplev.cc +++ b/gcc/toplev.cc @@ -1049,7 +1049,7 @@ general_init (const char *argv0, bool init_signals) global_dc->m_option_state = &global_options; global_dc->m_option_name = option_name; global_dc->m_get_option_url = get_option_url; - global_dc->m_urlifier = make_gcc_urlifier (); + global_dc->set_urlifier (make_gcc_urlifier ()); if (init_signals) { |