[gcc r12-8269] lto: use diagnostics_context in print_lto_docs_link
Martin Liska
marxin@gcc.gnu.org
Tue Apr 26 13:47:10 GMT 2022
https://gcc.gnu.org/g:cd4acb8cd9e45fd35664baa5b0a3150e479aae32
commit r12-8269-gcd4acb8cd9e45fd35664baa5b0a3150e479aae32
Author: Martin Liska <mliska@suse.cz>
Date: Tue Apr 26 09:56:37 2022 +0200
lto: use diagnostics_context in print_lto_docs_link
Properly parse OPT_fdiagnostics_urls_ and then initialize both urls
and colors for global_dc. Doing that we would follow the configure
option --with-documentation-root-url, -fdiagnostics-urls is respected.
Plus we'll print colored warning and note messages.
PR lto/105364
gcc/ChangeLog:
* lto-wrapper.cc (print_lto_docs_link): Use global_dc.
(run_gcc): Parse OPT_fdiagnostics_urls_.
(main): Initialize global_dc.
Diff:
---
gcc/lto-wrapper.cc | 20 +++++++++++++++++---
1 file changed, 17 insertions(+), 3 deletions(-)
diff --git a/gcc/lto-wrapper.cc b/gcc/lto-wrapper.cc
index 6027fd9efdd..285e6e96af5 100644
--- a/gcc/lto-wrapper.cc
+++ b/gcc/lto-wrapper.cc
@@ -1364,14 +1364,17 @@ jobserver_active_p (void)
void
print_lto_docs_link ()
{
- const char *url = get_option_url (NULL, OPT_flto);
+ bool print_url = global_dc->printer->url_format != URL_FORMAT_NONE;
+ const char *url = global_dc->get_option_url (global_dc, OPT_flto);
pretty_printer pp;
pp.url_format = URL_FORMAT_DEFAULT;
pp_string (&pp, "see the ");
- pp_begin_url (&pp, url);
+ if (print_url)
+ pp_begin_url (&pp, url);
pp_string (&pp, "%<-flto%> option documentation");
- pp_end_url (&pp);
+ if (print_url)
+ pp_end_url (&pp);
pp_string (&pp, " for more information");
inform (UNKNOWN_LOCATION, pp_formatted_text (&pp));
}
@@ -1573,6 +1576,14 @@ run_gcc (unsigned argc, char *argv[])
incoming_dumppfx = dumppfx = option->arg;
break;
+ case OPT_fdiagnostics_urls_:
+ diagnostic_urls_init (global_dc, option->value);
+ break;
+
+ case OPT_fdiagnostics_color_:
+ diagnostic_color_init (global_dc, option->value);
+ break;
+
default:
break;
}
@@ -2130,6 +2141,9 @@ main (int argc, char *argv[])
gcc_init_libintl ();
diagnostic_initialize (global_dc, 0);
+ diagnostic_color_init (global_dc);
+ diagnostic_urls_init (global_dc);
+ global_dc->get_option_url = get_option_url;
if (atexit (lto_wrapper_cleanup) != 0)
fatal_error (input_location, "%<atexit%> failed");
More information about the Gcc-cvs
mailing list