diff options
| author | Anders Carlsson <andersca@mac.com> | 2009-08-08 02:50:17 +0000 |
|---|---|---|
| committer | Anders Carlsson <andersca@mac.com> | 2009-08-08 02:50:17 +0000 |
| commit | c5c57c3b8632c77ad01d08c59490ab5cdd78d581 (patch) | |
| tree | 5e30e26404fcfb966ecc5d0b09aad9df8ccabc29 /clang/lib/Sema | |
| parent | 032ab6f978899d0b5c391de58d602df4a5eb39e9 (diff) | |
| download | bcm5719-llvm-c5c57c3b8632c77ad01d08c59490ab5cdd78d581.tar.gz bcm5719-llvm-c5c57c3b8632c77ad01d08c59490ab5cdd78d581.zip | |
Get rid of Stmt::Clone now that we can reference count statements instead.
llvm-svn: 78452
Diffstat (limited to 'clang/lib/Sema')
| -rw-r--r-- | clang/lib/Sema/SemaTemplateDeduction.cpp | 3 | ||||
| -rw-r--r-- | clang/lib/Sema/SemaTemplateInstantiateExpr.cpp | 2 | ||||
| -rw-r--r-- | clang/lib/Sema/SemaTemplateInstantiateStmt.cpp | 6 |
3 files changed, 5 insertions, 6 deletions
diff --git a/clang/lib/Sema/SemaTemplateDeduction.cpp b/clang/lib/Sema/SemaTemplateDeduction.cpp index 7fb159fec7e..b3d370ab12e 100644 --- a/clang/lib/Sema/SemaTemplateDeduction.cpp +++ b/clang/lib/Sema/SemaTemplateDeduction.cpp @@ -328,8 +328,7 @@ static QualType getUnqualifiedArrayType(ASTContext &Context, QualType T, 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/clang/lib/Sema/SemaTemplateInstantiateExpr.cpp b/clang/lib/Sema/SemaTemplateInstantiateExpr.cpp index 1e97f5fcc46..186c98cf53e 100644 --- a/clang/lib/Sema/SemaTemplateInstantiateExpr.cpp +++ b/clang/lib/Sema/SemaTemplateInstantiateExpr.cpp @@ -147,7 +147,7 @@ TemplateExprInstantiator::VisitDeclRefExpr(DeclRefExpr *E) { // 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/clang/lib/Sema/SemaTemplateInstantiateStmt.cpp b/clang/lib/Sema/SemaTemplateInstantiateStmt.cpp index 565b95b329f..80ff5eb082a 100644 --- a/clang/lib/Sema/SemaTemplateInstantiateStmt.cpp +++ b/clang/lib/Sema/SemaTemplateInstantiateStmt.cpp @@ -81,7 +81,7 @@ Sema::OwningStmtResult TemplateStmtInstantiator::VisitDeclStmt(DeclStmt *S) { } 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 @@ TemplateStmtInstantiator::VisitIndirectGotoStmt(IndirectGotoStmt *S) { } 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 |

