diff options
author | Reid Kleckner <reid@kleckner.net> | 2015-03-19 18:47:47 +0000 |
---|---|---|
committer | Reid Kleckner <reid@kleckner.net> | 2015-03-19 18:47:47 +0000 |
commit | 461c0c693421fe7fb37da598632fca9c02c4c5d1 (patch) | |
tree | 49792ec1914fe1848a58c64da5b6d40b92530600 /clang/lib/AST/ASTDumper.cpp | |
parent | 5196fe7c197a56548a4df99287e08ad3903927ff (diff) | |
download | bcm5719-llvm-461c0c693421fe7fb37da598632fca9c02c4c5d1.tar.gz bcm5719-llvm-461c0c693421fe7fb37da598632fca9c02c4c5d1.zip |
Fix -ast-dump of dependent new and delete exprs
llvm-svn: 232748
Diffstat (limited to 'clang/lib/AST/ASTDumper.cpp')
-rw-r--r-- | clang/lib/AST/ASTDumper.cpp | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/clang/lib/AST/ASTDumper.cpp b/clang/lib/AST/ASTDumper.cpp index 6aa0a2183d8..a5ad6db3797 100644 --- a/clang/lib/AST/ASTDumper.cpp +++ b/clang/lib/AST/ASTDumper.cpp @@ -1921,24 +1921,28 @@ void ASTDumper::VisitCXXBindTemporaryExpr(const CXXBindTemporaryExpr *Node) { void ASTDumper::VisitCXXNewExpr(const CXXNewExpr *Node) { VisitExpr(Node); - OS << ' '; if (Node->isGlobalNew()) - OS << "global "; + OS << " global"; if (Node->isArray()) - OS << "array "; - dumpBareDeclRef(Node->getOperatorNew()); + OS << " array"; + if (Node->getOperatorNew()) { + OS << ' '; + dumpBareDeclRef(Node->getOperatorNew()); + } // We could dump the deallocation function used in case of error, but it's // usually not that interesting. } void ASTDumper::VisitCXXDeleteExpr(const CXXDeleteExpr *Node) { VisitExpr(Node); - OS << ' '; if (Node->isGlobalDelete()) - OS << "global "; + OS << " global"; if (Node->isArrayForm()) - OS << "array "; - dumpBareDeclRef(Node->getOperatorDelete()); + OS << " array"; + if (Node->getOperatorDelete()) { + OS << ' '; + dumpBareDeclRef(Node->getOperatorDelete()); + } } void |