Use 'Destroy(Context)' instead of 'Context.Deallocate()' (does recursive freeing of memory).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63998 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Sema/SemaType.cpp b/lib/Sema/SemaType.cpp
index e206c40..d31402d 100644
--- a/lib/Sema/SemaType.cpp
+++ b/lib/Sema/SemaType.cpp
@@ -424,10 +424,7 @@
         Diag(ArraySize->getLocStart(), diag::err_array_size_non_int)
           << ArraySize->getType() << ArraySize->getSourceRange();
         D.setInvalidType(true);
-        
-        Context.Deallocate(ArraySize);
-        ArraySize->~Expr();
-
+        ArraySize->Destroy(Context);
         ATI.NumElts = ArraySize = 0;
       }
       llvm::APSInt ConstVal(32);