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.
Patch can bootstrap on x86_64-linux-gnu and survives regression tests. Ready to be installed? Thanks, Martin 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. --- 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"); -- 2.36.0