diff options
| author | Alexander Kornienko <alexfh@google.com> | 2012-08-17 17:38:39 +0000 |
|---|---|---|
| committer | Alexander Kornienko <alexfh@google.com> | 2012-08-17 17:38:39 +0000 |
| commit | 2018618b4dfd07b7aa9b24e103f83390e5185ab7 (patch) | |
| tree | 90967fbfce6c084e4d72b8a82ea4d2f9c071b850 /clang/lib | |
| parent | 91f548b04b7d4def318e2037f62828fc77bc6b45 (diff) | |
| download | bcm5719-llvm-2018618b4dfd07b7aa9b24e103f83390e5185ab7.tar.gz bcm5719-llvm-2018618b4dfd07b7aa9b24e103f83390e5185ab7.zip | |
Fixed crash and added a test and a minor output problem
llvm-svn: 162110
Diffstat (limited to 'clang/lib')
| -rw-r--r-- | clang/lib/Frontend/ASTConsumers.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/clang/lib/Frontend/ASTConsumers.cpp b/clang/lib/Frontend/ASTConsumers.cpp index 0f0d8352046..4a8f88f3282 100644 --- a/clang/lib/Frontend/ASTConsumers.cpp +++ b/clang/lib/Frontend/ASTConsumers.cpp @@ -58,6 +58,8 @@ namespace { bool shouldWalkTypesOfTypeLocs() const { return false; } bool TraverseDecl(Decl *D) { + if (D == NULL) + return false; if (filterMatches(D)) { Out.changeColor(llvm::raw_ostream::BLUE) << (Dump ? "Dumping " : "Printing ") << getName(D) << ":\n"; @@ -66,6 +68,7 @@ namespace { D->dump(Out); else D->print(Out, /*Indentation=*/0, /*PrintInstantiation=*/true); + Out << "\n"; // Don't traverse child nodes to avoid output duplication. return true; } @@ -89,8 +92,6 @@ namespace { class ASTDeclNodeLister : public ASTConsumer, public RecursiveASTVisitor<ASTDeclNodeLister> { - typedef RecursiveASTVisitor<ASTDeclNodeLister> base; - public: ASTDeclNodeLister(raw_ostream *Out = NULL) : Out(Out ? *Out : llvm::outs()) {} |

