From: David Malcolm Date: Tue, 4 Feb 2020 00:58:54 +0000 (-0500) Subject: diagnostics: don't generate URLs that won't be used X-Git-Tag: upstream/12.2.0~18345 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=abb4852434b3dee26301cc406472ac9450c621aa;p=platform%2Fupstream%2Fgcc.git diagnostics: don't generate URLs that won't be used The two places in diagnostics.c where URLs are printed both do non-trivial work to generate the URL strings (including malloc/free), so don't do this work if URL-printing is disabled. gcc/ChangeLog: * diagnostic.c (print_any_cwe): Don't call get_cwe_url if URLs won't be printed. (print_option_information): Don't call get_option_url if URLs won't be printed. --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a07e536..9f8ad15 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2020-02-17 David Malcolm + + * diagnostic.c (print_any_cwe): Don't call get_cwe_url if URLs + won't be printed. + (print_option_information): Don't call get_option_url if URLs + won't be printed. + 2020-02-17 Alexandre Oliva * tree-emutls.c (new_emutls_decl, emutls_common_1): Complete diff --git a/gcc/diagnostic.c b/gcc/diagnostic.c index e4a08f7..ed52bc0 100644 --- a/gcc/diagnostic.c +++ b/gcc/diagnostic.c @@ -983,12 +983,16 @@ print_any_cwe (diagnostic_context *context, pp_string (pp, " ["); pp_string (pp, colorize_start (pp_show_color (pp), diagnostic_kind_color[diagnostic->kind])); - char *cwe_url = get_cwe_url (cwe); - pp_begin_url (pp, cwe_url); - free (cwe_url); + if (pp->url_format != URL_FORMAT_NONE) + { + char *cwe_url = get_cwe_url (cwe); + pp_begin_url (pp, cwe_url); + free (cwe_url); + } pp_printf (pp, "CWE-%i", cwe); pp_set_prefix (context->printer, saved_prefix); - pp_end_url (pp); + if (pp->url_format != URL_FORMAT_NONE) + pp_end_url (pp); pp_string (pp, colorize_stop (pp_show_color (pp))); pp_character (pp, ']'); } @@ -1011,7 +1015,8 @@ print_option_information (diagnostic_context *context, if (option_text) { char *option_url = NULL; - if (context->get_option_url) + if (context->get_option_url + && context->printer->url_format != URL_FORMAT_NONE) option_url = context->get_option_url (context, diagnostic->option_index); pretty_printer *pp = context->printer;