On Tue, Apr 26, 2022 at 12:41 PM Martin Liška <mli...@suse.cz> wrote: > > 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?
OK. Thanks, Richard. > 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 >