[SourceMgr][FileCheck] Obey -color by extending WithColor
authorJoel E. Denny <jdenny.ornl@gmail.com>
Wed, 24 Oct 2018 21:46:42 +0000 (21:46 +0000)
committerJoel E. Denny <jdenny.ornl@gmail.com>
Wed, 24 Oct 2018 21:46:42 +0000 (21:46 +0000)
commit3e66509f6cf4c6eb48b931e719ef6e2426758247
tree7d479b70f07fa414345f18b2707ea993a25d1aa8
parent096e2497b5e2b816c7e5ecd172ac5043e81b0c56
[SourceMgr][FileCheck] Obey -color by extending WithColor

(Relands r344930, reverted in r344935, and now hopefully fixed for
Windows.)

While this change specifically targets FileCheck, it affects any tool
using the same SourceMgr facilities.

Previously, -color was documented in FileCheck's -help output, but
-color had no effect.  Now, -color obeys its documentation: it forces
colors to be used in FileCheck diagnostics even when stderr is not a
terminal.

-color is especially helpful when combined with FileCheck's -v, which
can produce a long series of diagnostics that you might wish to pipe
to a pager, such as less -R.  The WithColor extensions here will also
help to clean up color usage in FileCheck's annotated dump of input,
which is proposed in D52999.

Reviewed By: JDevlieghere, zturner

Differential Revision: https://reviews.llvm.org/D53419

llvm-svn: 345202
llvm/docs/CommandGuide/FileCheck.rst
llvm/include/llvm/Support/WithColor.h
llvm/lib/Support/SourceMgr.cpp
llvm/lib/Support/WithColor.cpp
llvm/test/FileCheck/opt-color.txt [new file with mode: 0644]
llvm/utils/FileCheck/FileCheck.cpp