diff options
author | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-04-26 06:55:56 +0000 |
---|---|---|
committer | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-04-26 06:55:56 +0000 |
commit | 71eeb8d395362158ffe9efbc2a7efbe3c4268db5 (patch) | |
tree | 51e30ba36c159ac77b30129857b8d14e386bd6bd | |
parent | 2cafe21106dc81d9ec203120ef94e4e35527eaa4 (diff) | |
download | gcc-71eeb8d395362158ffe9efbc2a7efbe3c4268db5.tar.gz |
* Makefile.in (toplev.o): Depend on diagnostic-color.h.
* diagnostic-color.c (should_colorize): Remove _WIN32 version.
(colorize_init): Add argument to _WIN32 version.
* toplev.c: Include diagnostic-color.h.
(process_options): Default to -fdiagnostics-color=auto if
GCC_COLORS env var is in the environment.
* common.opt (fdiagnostics-color=): Add Var and Init.
* doc/invoke.texi (-fdiagnostics-color=): Document that if
GCC_COLORS env var is in the environment, the default is auto
rather than never.
* lib/prune.exp: Add -fdiagnostics-color=never to TEST_ALWAYS_FLAGS.
* lib/c-compat.exp (compat-use-alt-compiler, compat_setup_dfp): Handle
-fdiagnostics-color=never option similarly to
-fno-diagnostics-show-caret option.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198332 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 11 | ||||
-rw-r--r-- | gcc/Makefile.in | 2 | ||||
-rw-r--r-- | gcc/common.opt | 2 | ||||
-rw-r--r-- | gcc/diagnostic-color.c | 8 | ||||
-rw-r--r-- | gcc/doc/invoke.texi | 7 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/testsuite/lib/c-compat.exp | 11 | ||||
-rw-r--r-- | gcc/testsuite/lib/prune.exp | 2 | ||||
-rw-r--r-- | gcc/toplev.c | 8 |
9 files changed, 44 insertions, 14 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 18a0ac0b47d..749d2838a0b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,16 @@ 2013-04-26 Jakub Jelinek <jakub@redhat.com> + * Makefile.in (toplev.o): Depend on diagnostic-color.h. + * diagnostic-color.c (should_colorize): Remove _WIN32 version. + (colorize_init): Add argument to _WIN32 version. + * toplev.c: Include diagnostic-color.h. + (process_options): Default to -fdiagnostics-color=auto if + GCC_COLORS env var is in the environment. + * common.opt (fdiagnostics-color=): Add Var and Init. + * doc/invoke.texi (-fdiagnostics-color=): Document that if + GCC_COLORS env var is in the environment, the default is auto + rather than never. + * diagnostic.h (file_name_as_prefix): Add context argument. * diagnostic.c (file_name_as_prefix): Likewise. Colorize the string as locus. diff --git a/gcc/Makefile.in b/gcc/Makefile.in index adb7d0c0b6b..f6fe9aa21b6 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -2716,7 +2716,7 @@ toplev.o : toplev.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \ $(OPTS_H) params.def tree-mudflap.h $(TREE_PASS_H) $(GIMPLE_H) \ tree-ssa-alias.h $(PLUGIN_H) realmpfr.h tree-diagnostic.h \ $(TREE_PRETTY_PRINT_H) opts-diagnostic.h $(COMMON_TARGET_H) \ - tsan.h + tsan.h diagnostic-color.h hwint.o : hwint.c $(CONFIG_H) $(SYSTEM_H) $(DIAGNOSTIC_CORE_H) diff --git a/gcc/common.opt b/gcc/common.opt index 8be32e57d3e..350bf973f76 100644 --- a/gcc/common.opt +++ b/gcc/common.opt @@ -1033,7 +1033,7 @@ Common Alias(fdiagnostics-color=,always,never) ; fdiagnostics-color= -Common Joined RejectNegative Enum(diagnostic_color_rule) +Common Joined RejectNegative Var(flag_diagnostics_show_color) Enum(diagnostic_color_rule) Init(DIAGNOSTICS_COLOR_NO) -fdiagnostics-color=[never|always|auto] Colorize diagnostics ; Required for these enum values. diff --git a/gcc/diagnostic-color.c b/gcc/diagnostic-color.c index 8680b504af5..a1c508a0735 100644 --- a/gcc/diagnostic-color.c +++ b/gcc/diagnostic-color.c @@ -264,14 +264,8 @@ parse_gcc_colors (void) } #if defined(_WIN32) -static bool -should_colorize (void) -{ - return false; -} - bool -colorize_init (void) +colorize_init (diagnostic_color_rule_t) { return false; } diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 86c6945262e..6eb5c607e7d 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -2964,9 +2964,10 @@ a message which is too long to fit on a single line. @cindex highlight, color, colour @vindex GCC_COLORS @r{environment variable} Use color in diagnostics. @var{WHEN} is @samp{never}, @samp{always}, -or @samp{auto}. The default is @samp{never}, @samp{auto} means to use color -only when the standard error is a terminal. The forms -@option{-fdiagnostics-color} and @option{-fno-diagnostics-color} are +or @samp{auto}. The default is @samp{never} if @env{GCC_COLORS} environment +variable isn't present in the environment, and @samp{auto} otherwise. +@samp{auto} means to use color only when the standard error is a terminal. +The forms @option{-fdiagnostics-color} and @option{-fno-diagnostics-color} are aliases for @option{-fdiagnostics-color=always} and @option{-fdiagnostics-color=never}, respectively. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 9cc5ce1f534..5e568fb8dc3 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2013-04-26 Jakub Jelinek <jakub@redhat.com> + + * lib/prune.exp: Add -fdiagnostics-color=never to TEST_ALWAYS_FLAGS. + * lib/c-compat.exp (compat-use-alt-compiler, compat_setup_dfp): Handle + -fdiagnostics-color=never option similarly to + -fno-diagnostics-show-caret option. + 2013-04-25 Jakub Jelinek <jakub@redhat.com> PR rtl-optimization/57003 diff --git a/gcc/testsuite/lib/c-compat.exp b/gcc/testsuite/lib/c-compat.exp index 58eaf4d64ad..b42545dfaa4 100644 --- a/gcc/testsuite/lib/c-compat.exp +++ b/gcc/testsuite/lib/c-compat.exp @@ -34,7 +34,7 @@ load_lib target-supports.exp # proc compat-use-alt-compiler { } { global GCC_UNDER_TEST ALT_CC_UNDER_TEST - global compat_same_alt compat_alt_caret + global compat_same_alt compat_alt_caret compat_alt_color global TEST_ALWAYS_FLAGS # We don't need to do this if the alternate compiler is actually @@ -44,6 +44,9 @@ proc compat-use-alt-compiler { } { if { $compat_alt_caret == 0 } then { regsub -- "-fno-diagnostics-show-caret" $TEST_ALWAYS_FLAGS "" TEST_ALWAYS_FLAGS } + if { $compat_alt_color == 0 } then { + regsub -- "-fdiagnostics-color=never" $TEST_ALWAYS_FLAGS "" TEST_ALWAYS_FLAGS + } } } @@ -70,9 +73,11 @@ proc compat_setup_dfp { } { global compat_same_alt global compat_have_dfp global compat_alt_caret + global compat_alt_color global TEST_ALWAYS_FLAGS compat_save_TEST_ALWAYS_FLAGS set compat_alt_caret 0 + set compat_alt_color 0 set compat_save_TEST_ALWAYS_FLAGS $TEST_ALWAYS_FLAGS verbose "compat_setup_dfp: $compat_use_alt $compat_same_alt" 2 @@ -88,6 +93,10 @@ proc compat_setup_dfp { } { int dummy; } "-fno-diagnostics-show-caret"] != 0 } { set compat_alt_caret 1 } + if { [check_no_compiler_messages_nocache compat_alt_has_color object { + int dummy; } "-fdiagnostics-color=never"] != 0 } { + set compat_alt_color 1 + } compat-use-tst-compiler } diff --git a/gcc/testsuite/lib/prune.exp b/gcc/testsuite/lib/prune.exp index c110fc6056f..78906086503 100644 --- a/gcc/testsuite/lib/prune.exp +++ b/gcc/testsuite/lib/prune.exp @@ -19,7 +19,7 @@ if ![info exists TEST_ALWAYS_FLAGS] { set TEST_ALWAYS_FLAGS "" } -set TEST_ALWAYS_FLAGS "-fno-diagnostics-show-caret $TEST_ALWAYS_FLAGS" +set TEST_ALWAYS_FLAGS "-fno-diagnostics-show-caret -fdiagnostics-color=never $TEST_ALWAYS_FLAGS" proc prune_gcc_output { text } { #send_user "Before:$text\n" diff --git a/gcc/toplev.c b/gcc/toplev.c index b85917d109e..d41283de931 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -74,6 +74,7 @@ along with GCC; see the file COPYING3. If not see #include "gimple.h" #include "tree-ssa-alias.h" #include "plugin.h" +#include "diagnostic-color.h" #if defined(DBX_DEBUGGING_INFO) || defined(XCOFF_DEBUGGING_INFO) #include "dbxout.h" @@ -1209,6 +1210,13 @@ process_options (void) maximum_field_alignment = initial_max_fld_align * BITS_PER_UNIT; + /* Default to -fdiagnostics-color=auto if GCC_COLORS is in the environment, + otherwise default to -fdiagnostics-color=never. */ + if (!global_options_set.x_flag_diagnostics_show_color + && getenv ("GCC_COLORS")) + pp_show_color (global_dc->printer) + = colorize_init (DIAGNOSTICS_COLOR_AUTO); + /* Allow the front end to perform consistency checks and do further initialization based on the command line options. This hook also sets the original filename if appropriate (e.g. foo.i -> foo.c) |