summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2009-08-08 02:50:17 +0000
committerAnders Carlsson <andersca@mac.com>2009-08-08 02:50:17 +0000
commitc5c57c3b8632c77ad01d08c59490ab5cdd78d581 (patch)
tree5e30e26404fcfb966ecc5d0b09aad9df8ccabc29 /clang/lib/Sema
parent032ab6f978899d0b5c391de58d602df4a5eb39e9 (diff)
downloadbcm5719-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.cpp3
-rw-r--r--clang/lib/Sema/SemaTemplateInstantiateExpr.cpp2
-rw-r--r--clang/lib/Sema/SemaTemplateInstantiateStmt.cpp6
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
OpenPOWER on IntegriCloud