mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-11-25 23:00:15 +00:00
[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 llvm-svn: 229707
This commit is contained in:
parent
3c6724f442
commit
da52c55fc3
@ -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']
|
||||
|
||||
def configure_debug_mode(self):
|
||||
debug_level = self.get_lit_conf('debug_level', None)
|
||||
if not debug_level:
|
||||
|
@ -192,6 +192,16 @@ was given when building libc++ then that sanitizer will be used by default.
|
||||
</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>
|
||||
|
Loading…
Reference in New Issue
Block a user