On Wed, Feb 18, 2015 at 9:39 AM, Eric Fiselier <[email protected]> wrote: > Author: ericwf > Date: Wed Feb 18 11:39:45 2015 > New Revision: 229707 > > URL: http://llvm.org/viewvc/llvm-project?rev=229707&view=rev > Log: > [libcxx] Tired of colorless compile errors? Enable color diagnostics today! > > Summary: > This patch adds a lit option to enable color diagnostics when either > `--param=color_diagnostics` is passed to LIT or `LIBCXX_COLOR_DIAGNOSTICS` > is present in the environment. > > My only concern with this patch is that GCC and Clang take different flags > and that only GCC 4.9 and greater support `-fdiagnostics-color=always` > > Does anybody have objections to this going in? > > Reviewers: jroelofs, danalbert > > Reviewed By: danalbert > > Subscribers: cfe-commits > > Differential Revision: http://reviews.llvm.org/D7729 > > Modified: > libcxx/trunk/test/libcxx/test/config.py > libcxx/trunk/www/lit_usage.html > > Modified: libcxx/trunk/test/libcxx/test/config.py > URL: > http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/test/config.py?rev=229707&r1=229706&r2=229707&view=diff > > ============================================================================== > --- libcxx/trunk/test/libcxx/test/config.py (original) > +++ libcxx/trunk/test/libcxx/test/config.py Wed Feb 18 11:39:45 2015 > @@ -91,6 +91,7 @@ class Configuration(object): > self.configure_env() > self.configure_compile_flags() > self.configure_link_flags() > + self.configure_color_diagnostics() > self.configure_debug_mode() > self.configure_warnings() > self.configure_sanitizer() > @@ -469,6 +470,25 @@ class Configuration(object): > else: > self.lit_config.fatal("unrecognized system: %r" % > target_platform) > > + def configure_color_diagnostics(self): > + use_color = self.get_lit_conf('color_diagnostics') > + if use_color is None: > + use_color = os.environ.get('LIBCXX_COLOR_DIAGNOSTICS') > + if use_color is None: > + return > + if use_color != '': > + self.lit_config.fatal('Invalid value for color_diagnostics > "%s".' > + % use_color) > + cxx_type = self.cxx.type > + if cxx_type is None: > + self.lit_config.warning( > + 'Unable to force color output for unknown compiler "%s"' > + % cxx.path) > + elif cxx_type in ['clang', 'apple-clang']: > + self.cxx.flags += ['-fcolor-diagnostics'] > + elif cxx_type == 'gcc': > + self.cxx.flags += ['-fdiagnostics-color=always'] >
FYI, clang understands the gcc spelling too ( http://llvm.org/viewvc/llvm-project?view=revision&revision=179728 ), so maybe you can just unconditionally tack on -fdiagnostics-color=always. > + > def configure_debug_mode(self): > debug_level = self.get_lit_conf('debug_level', None) > if not debug_level: > > Modified: libcxx/trunk/www/lit_usage.html > URL: > http://llvm.org/viewvc/llvm-project/libcxx/trunk/www/lit_usage.html?rev=229707&r1=229706&r2=229707&view=diff > > ============================================================================== > --- libcxx/trunk/www/lit_usage.html (original) > +++ libcxx/trunk/www/lit_usage.html Wed Feb 18 11:39:45 2015 > @@ -192,6 +192,16 @@ was given when building libc++ then that > </blockquote> > </p> > > +<p> > +<h3 class="lit-option">color_diagnostics</h3> > +<blockquote class="lit-option-desc"> > +Enable the use of colorized compile diagnostics. If the > +<code>color_diagnostics</code> option is specified or the enviroment > variable > +<code>LIBCXX_COLOR_DIAGNOSTICS</code> is present then color diagnostics > will be > +enabled. > +</blockquote> > +</p> > + > </div> > </body> > </html> > > > _______________________________________________ > cfe-commits mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits >
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
