Get rid of Stmt::Clone now that we can reference count statements instead.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78452 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Sema/SemaTemplateDeduction.cpp b/lib/Sema/SemaTemplateDeduction.cpp
index 7fb159f..b3d370a 100644
--- a/lib/Sema/SemaTemplateDeduction.cpp
+++ b/lib/Sema/SemaTemplateDeduction.cpp
@@ -328,8 +328,7 @@
   if (Elt == DSAT->getElementType())
     return T;
   
-  // FIXME: Clone expression!
-  return Context.getDependentSizedArrayType(Elt, DSAT->getSizeExpr(),
+  return Context.getDependentSizedArrayType(Elt, DSAT->getSizeExpr()->Retain(),
                                             DSAT->getSizeModifier(), 0,
                                             SourceRange());
 }
diff --git a/lib/Sema/SemaTemplateInstantiateExpr.cpp b/lib/Sema/SemaTemplateInstantiateExpr.cpp
index 1e97f5f..186c98c 100644
--- a/lib/Sema/SemaTemplateInstantiateExpr.cpp
+++ b/lib/Sema/SemaTemplateInstantiateExpr.cpp
@@ -147,7 +147,7 @@
     // arguments left unspecified.
     if (NTTP->getPosition() >= TemplateArgs.size() ||
         TemplateArgs[NTTP->getPosition()].isNull())
-      return SemaRef.Owned(E); // FIXME: Clone the expression!
+      return SemaRef.Owned(E->Retain());
     
     const TemplateArgument &Arg = TemplateArgs[NTTP->getPosition()]; 
     
diff --git a/lib/Sema/SemaTemplateInstantiateStmt.cpp b/lib/Sema/SemaTemplateInstantiateStmt.cpp
index 565b95b..80ff5eb 100644
--- a/lib/Sema/SemaTemplateInstantiateStmt.cpp
+++ b/lib/Sema/SemaTemplateInstantiateStmt.cpp
@@ -81,7 +81,7 @@
 }
 
 Sema::OwningStmtResult TemplateStmtInstantiator::VisitNullStmt(NullStmt *S) {
-  return SemaRef.Owned(S->Clone(SemaRef.Context));
+  return SemaRef.Owned(S->Retain());
 }
 
 Sema::OwningStmtResult TemplateStmtInstantiator::VisitLabelStmt(LabelStmt *S) {
@@ -112,12 +112,12 @@
 }
 
 Sema::OwningStmtResult TemplateStmtInstantiator::VisitBreakStmt(BreakStmt *S) {
-  return SemaRef.Owned(S->Clone(SemaRef.Context));
+  return SemaRef.Owned(S->Retain());
 }
 
 Sema::OwningStmtResult 
 TemplateStmtInstantiator::VisitContinueStmt(ContinueStmt *S) {
-  return SemaRef.Owned(S->Clone(SemaRef.Context));
+  return SemaRef.Owned(S->Retain());
 }
 
 Sema::OwningStmtResult