aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2023-11-06 14:28:41 -0500
committerDavid Malcolm <dmalcolm@redhat.com>2023-11-06 14:28:41 -0500
commita526cc6ff32e22e1a948c1c5f30d977d440c8da5 (patch)
tree6d04f2fdcb23500e9435eb0be622baf1be17440b /gcc
parent579bb65cdd35a421d731b64ecc8a31064abc73a9 (diff)
downloadgcc-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.cc8
-rw-r--r--gcc/diagnostic.h3
-rw-r--r--gcc/gcc.cc2
-rw-r--r--gcc/toplev.cc2
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 *);
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index 0246495..51120c1 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -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)
{