Get rid of CXXDestroyExpr.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70586 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/clang/AST/StmtNodes.def b/include/clang/AST/StmtNodes.def
index eb51829..71dd77b 100644
--- a/include/clang/AST/StmtNodes.def
+++ b/include/clang/AST/StmtNodes.def
@@ -118,7 +118,6 @@
 STMT(UnaryTypeTraitExpr     , Expr)
 STMT(QualifiedDeclRefExpr   , DeclRefExpr)
 STMT(UnresolvedDeclRefExpr  , Expr)
-STMT(CXXDestroyExpr         , Expr)
 STMT(CXXConstructExpr       , Expr)
 STMT(CXXExprWithTemporaries , Expr)
 STMT(CXXTemporaryObjectExpr , CXXConstructExpr)
diff --git a/lib/AST/ExprCXX.cpp b/lib/AST/ExprCXX.cpp
index c280861..b05bf7d 100644
--- a/lib/AST/ExprCXX.cpp
+++ b/lib/AST/ExprCXX.cpp
@@ -267,13 +267,6 @@
   C.Deallocate(this);
 }
 
-CXXDestroyExpr *CXXDestroyExpr::Create(ASTContext &C, VarDecl *vd) {
-  assert((vd->getKind() == Decl::CXXTempVar || vd->getKind() == Decl::Var) &&
-         "Can only create a destroy expr with a temp var decl or a var decl!");
-
-  return new (C) CXXDestroyExpr(vd, C.VoidTy);
-}
-
 CXXExprWithTemporaries::CXXExprWithTemporaries(Expr *subexpr, 
                                                CXXTempVarDecl **decls, 
                                                unsigned numdecls)
@@ -299,15 +292,12 @@
   return &Args[0]+NumArgs;
 }
 
-// CXXDestroyExpr
-Stmt::child_iterator CXXDestroyExpr::child_begin() { 
-  return child_iterator();
-}
-Stmt::child_iterator CXXDestroyExpr::child_end() {
-  return child_iterator();
+// CXXExprWithTemporaries
+Stmt::child_iterator CXXExprWithTemporaries::child_begin() {
+  return &SubExpr;
 }
 
-// CXXExprWithTemporaries
-Stmt::child_iterator CXXExprWithTemporaries::child_begin() { return &SubExpr; }
-Stmt::child_iterator CXXExprWithTemporaries::child_end() { return &SubExpr + 1;}
+Stmt::child_iterator CXXExprWithTemporaries::child_end() { 
+  return &SubExpr + 1;
+}
 
diff --git a/lib/AST/StmtPrinter.cpp b/lib/AST/StmtPrinter.cpp
index c083efa..0f8284a 100644
--- a/lib/AST/StmtPrinter.cpp
+++ b/lib/AST/StmtPrinter.cpp
@@ -1101,10 +1101,6 @@
   // Nothing to print.
 }
 
-void StmtPrinter::VisitCXXDestroyExpr(CXXDestroyExpr *E) {
-  // Nothing to print.
-}
-
 void StmtPrinter::VisitCXXExprWithTemporaries(CXXExprWithTemporaries *E) {
   // Just forward to the sub expression.
   PrintExpr(E->getSubExpr());