458c8d6459
2020-02-15 David Malcolm <dmalcolm@redhat.com> Bernd Edlinger <bernd.edlinger@hotmail.de> PR 87488 PR other/93168 * config.in (DIAGNOSTICS_URLS_DEFAULT): New define. * configure.ac (--with-diagnostics-urls): New configuration option, based on --with-diagnostics-color. (DIAGNOSTICS_URLS_DEFAULT): New define. * config.h: Regenerate. * configure: Regenerate. * diagnostic.c (diagnostic_urls_init): Handle -1 for DIAGNOSTICS_URLS_DEFAULT from configure-time --with-diagnostics-urls=auto-if-env by querying for a GCC_URLS and TERM_URLS environment variable. * diagnostic-url.h (diagnostic_url_format): New enum type. (diagnostic_urls_enabled_p): rename to... (determine_url_format): ... this, and change return type. * diagnostic-color.c (parse_env_vars_for_urls): New helper function. (auto_enable_urls): Disable URLs on xfce4-terminal, gnome-terminal, the linux console, and mingw. (diagnostic_urls_enabled_p): rename to... (determine_url_format): ... this, and adjust. * pretty-print.h (pretty_printer::show_urls): rename to... (pretty_printer::url_format): ... this, and change to enum. * pretty-print.c (pretty_printer::pretty_printer, pp_begin_url, pp_end_url, test_urls): Adjust. * doc/install.texi (--with-diagnostics-urls): Document the new configuration option. (--with-diagnostics-color): Document the existing interaction with GCC_COLORS better. * doc/invoke.texi (-fdiagnostics-urls): Add GCC_URLS and TERM_URLS vindex reference. Update description of defaults based on the above. (-fdiagnostics-color): Update description of how -fdiagnostics-color interacts with GCC_COLORS.
53 lines
1.5 KiB
C
53 lines
1.5 KiB
C
/* Copyright (C) 2019-2020 Free Software Foundation, Inc.
|
|
Contributed by David Malcolm <dmalcolm@redhat.com>.
|
|
|
|
This file is part of GCC.
|
|
|
|
GCC is free software; you can redistribute it and/or modify it under
|
|
the terms of the GNU General Public License as published by the Free
|
|
Software Foundation; either version 3, or (at your option) any later
|
|
version.
|
|
|
|
GCC is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with GCC; see the file COPYING3. If not see
|
|
<http://www.gnu.org/licenses/>. */
|
|
|
|
#ifndef GCC_DIAGNOSTIC_URL_H
|
|
#define GCC_DIAGNOSTIC_URL_H
|
|
|
|
/* Whether to add URLs to diagnostics:
|
|
- DIAGNOSTICS_URL_NO: never
|
|
- DIAGNOSTICS_URL_YES: always
|
|
- DIAGNOSTICS_URL_AUTO: depending on the output stream. */
|
|
typedef enum
|
|
{
|
|
DIAGNOSTICS_URL_NO = 0,
|
|
DIAGNOSTICS_URL_YES = 1,
|
|
DIAGNOSTICS_URL_AUTO = 2
|
|
} diagnostic_url_rule_t;
|
|
|
|
/* Tells whether URLs should be emitted, and, if so, how to
|
|
terminate strings within the escape sequence. */
|
|
enum diagnostic_url_format
|
|
{
|
|
/* No URLs shall be emitted. */
|
|
URL_FORMAT_NONE,
|
|
|
|
/* Use ST string termination. */
|
|
URL_FORMAT_ST,
|
|
|
|
/* Use BEL string termination. */
|
|
URL_FORMAT_BEL
|
|
};
|
|
|
|
const diagnostic_url_format URL_FORMAT_DEFAULT = URL_FORMAT_BEL;
|
|
|
|
extern diagnostic_url_format determine_url_format (diagnostic_url_rule_t);
|
|
|
|
#endif /* ! GCC_DIAGNOSTIC_URL_H */
|