diff --git a/lib/Frontend/PCHReaderStmt.cpp b/lib/Frontend/PCHReaderStmt.cpp
index fd3cde4..4a38a36 100644
--- a/lib/Frontend/PCHReaderStmt.cpp
+++ b/lib/Frontend/PCHReaderStmt.cpp
@@ -134,6 +134,7 @@
     
     unsigned VisitCXXZeroInitValueExpr(CXXZeroInitValueExpr *E);
     unsigned VisitCXXNewExpr(CXXNewExpr *E);
+    unsigned VisitCXXDeleteExpr(CXXDeleteExpr *E);
     
     unsigned VisitCXXExprWithTemporaries(CXXExprWithTemporaries *E);
   };
@@ -1087,6 +1088,16 @@
   return TotalSubExprs;
 }
 
+unsigned PCHStmtReader::VisitCXXDeleteExpr(CXXDeleteExpr *E) {
+  VisitExpr(E);
+  E->setGlobalDelete(Record[Idx++]);
+  E->setArrayForm(Record[Idx++]);
+  E->setOperatorDelete(
+                     cast_or_null<FunctionDecl>(Reader.GetDecl(Record[Idx++])));
+  E->setArgument(cast_or_null<Expr>(StmtStack.back()));
+  E->setStartLoc(SourceLocation::getFromRawEncoding(Record[Idx++]));
+  return 1;
+}
 
 unsigned PCHStmtReader::VisitCXXExprWithTemporaries(CXXExprWithTemporaries *E) {
   VisitExpr(E);
@@ -1475,6 +1486,9 @@
     case pch::EXPR_CXX_NEW:
       S = new (Context) CXXNewExpr(Empty);
       break;
+    case pch::EXPR_CXX_DELETE:
+      S = new (Context) CXXDeleteExpr(Empty);
+      break;
         
         
     case pch::EXPR_CXX_EXPR_WITH_TEMPORARIES:
