https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78787
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2016-12-13 Ever confirmed|0 |1 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- Hmm: fdiagnostics-color= Driver Common Joined RejectNegative Var(flag_diagnostics_show_color) Enum(diagnostic_color_rule) Init(DIAGNOSTICS_COLOR_NO) -fdiagnostics-color=[never|always|auto] Colorize diagnostics. and color is initialized via toplev.c. So I don't see how it doesn't work. But yes, it doesn't work. Looks like the environment is not passed through properly: > GCC_COLORS=yes gcc-6 t.c -Wall -O2 -Wextra -B /abuild/rguenther/trunk-g/gcc > -flto -v -save-temps shows the effect, repeating the LTRANs command with > GCC_COLORS=yes /abuild/rguenther/trunk-g/gcc/lto1 -quiet -dumpbase > ccXMeVxA.ltrans0.o -mtune=generic -march=x86-64 -auxbase-strip > /tmp/ccXMeVxA.ltrans0.ltrans.o -O2 -O2 -Wextra -version -fmath-errno > -fsigned-zeros -ftrapping-math -fno-trapv -fno-openmp -fno-openacc > -fltrans-output-list=/tmp/ccXMeVxA.ltrans.out -fltrans @/tmp/ccKhkQlz -o > ccXMeVxA.ltrans0.s colors the output. Not sure how you get your "default" coloring (your .profile and a login vs. non-login shell and the way we execute sub-commands from the driver and/or the linker?)