diff options
author | Dmitri Gribenko <gribozavr@gmail.com> | 2012-11-21 10:54:55 +0000 |
---|---|---|
committer | Dmitri Gribenko <gribozavr@gmail.com> | 2012-11-21 10:54:55 +0000 |
commit | 3233391b50713ca77404ccbe0891cc3baffcac72 (patch) | |
tree | 333f2dc610904b5a17a73c3a7167c2d5db3d9c6a | |
parent | 845b73c06f533e623c8b0eae0b059aec1b5ff4a0 (diff) | |
download | bcm5719-llvm-3233391b50713ca77404ccbe0891cc3baffcac72.tar.gz bcm5719-llvm-3233391b50713ca77404ccbe0891cc3baffcac72.zip |
Use color for -ast-dump-filter only when it is supported
Patch by Philip Craig.
llvm-svn: 168420
-rw-r--r-- | clang/lib/Frontend/ASTConsumers.cpp | 9 | ||||
-rw-r--r-- | clang/test/Tooling/clang-check-ast-dump.cpp | 3 |
2 files changed, 8 insertions, 4 deletions
diff --git a/clang/lib/Frontend/ASTConsumers.cpp b/clang/lib/Frontend/ASTConsumers.cpp index 882d400c429..c99dbf07ddd 100644 --- a/clang/lib/Frontend/ASTConsumers.cpp +++ b/clang/lib/Frontend/ASTConsumers.cpp @@ -59,9 +59,12 @@ namespace { bool TraverseDecl(Decl *D) { if (D != NULL && filterMatches(D)) { - Out.changeColor(llvm::raw_ostream::BLUE) << - (Dump ? "Dumping " : "Printing ") << getName(D) << ":\n"; - Out.resetColor(); + bool ShowColors = Out.has_colors(); + if (ShowColors) + Out.changeColor(llvm::raw_ostream::BLUE); + Out << (Dump ? "Dumping " : "Printing ") << getName(D) << ":\n"; + if (ShowColors) + Out.resetColor(); if (Dump) D->dump(Out); else diff --git a/clang/test/Tooling/clang-check-ast-dump.cpp b/clang/test/Tooling/clang-check-ast-dump.cpp index 43686bd250c..6e03f82d0fe 100644 --- a/clang/test/Tooling/clang-check-ast-dump.cpp +++ b/clang/test/Tooling/clang-check-ast-dump.cpp @@ -8,7 +8,8 @@ // RUN: clang-check -ast-dump -ast-dump-filter test_namespace::TheClass::theMethod "%s" -- 2>&1 | FileCheck -check-prefix CHECK-FILTER %s // CHECK-FILTER-NOT: namespace test_namespace // CHECK-FILTER-NOT: class TheClass -// CHECK-FILTER: int theMethod(int x) (CompoundStmt +// CHECK-FILTER: {{^}}Dumping test_namespace::TheClass::theMethod +// CHECK-FILTER-NEXT: {{^}}int theMethod(int x) (CompoundStmt // CHECK-FILTER-NEXT: (ReturnStmt // CHECK-FILTER-NEXT: (BinaryOperator // |