summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2011-06-21 18:20:46 +0000
committerDouglas Gregor <dgregor@apple.com>2011-06-21 18:20:46 +0000
commitd410c08ebe2ce441d03f072058cc6e88868fb82c (patch)
tree8885d293f2735ae784992ab0c91cce889f7409e9 /clang/lib/AST
parent40502b122921b3d24aef45430e90c2e0c2ebd2c9 (diff)
downloadbcm5719-llvm-d410c08ebe2ce441d03f072058cc6e88868fb82c.tar.gz
bcm5719-llvm-d410c08ebe2ce441d03f072058cc6e88868fb82c.zip
A few tweaks to MaterializeTemporaryExpr suggested by John.
llvm-svn: 133528
Diffstat (limited to 'clang/lib/AST')
-rw-r--r--clang/lib/AST/Decl.cpp3
-rw-r--r--clang/lib/AST/Expr.cpp4
-rw-r--r--clang/lib/AST/ExprClassification.cpp2
3 files changed, 2 insertions, 7 deletions
diff --git a/clang/lib/AST/Decl.cpp b/clang/lib/AST/Decl.cpp
index cdec049cb12..7ca936abc91 100644
--- a/clang/lib/AST/Decl.cpp
+++ b/clang/lib/AST/Decl.cpp
@@ -1313,8 +1313,7 @@ void VarDecl::setInit(Expr *I) {
}
bool VarDecl::extendsLifetimeOfTemporary() const {
- if (!getType()->isReferenceType())
- return false;
+ assert(getType()->isReferenceType() &&"Non-references never extend lifetime");
const Expr *E = getInit();
if (!E)
diff --git a/clang/lib/AST/Expr.cpp b/clang/lib/AST/Expr.cpp
index 1faceb94258..2adaba11a0d 100644
--- a/clang/lib/AST/Expr.cpp
+++ b/clang/lib/AST/Expr.cpp
@@ -1573,10 +1573,6 @@ bool Expr::isUnusedResultAWarning(SourceLocation &Loc, SourceRange &R1,
return (cast<ImplicitCastExpr>(this)
->getSubExpr()->isUnusedResultAWarning(Loc, R1, R2, Ctx));
- case MaterializeTemporaryExprClass:
- return cast<MaterializeTemporaryExpr>(this)->GetTemporaryExpr()
- ->isUnusedResultAWarning(Loc, R1, R2, Ctx);
-
case CXXDefaultArgExprClass:
return (cast<CXXDefaultArgExpr>(this)
->getExpr()->isUnusedResultAWarning(Loc, R1, R2, Ctx));
diff --git a/clang/lib/AST/ExprClassification.cpp b/clang/lib/AST/ExprClassification.cpp
index 2d824ce8fd7..2a05c1fccff 100644
--- a/clang/lib/AST/ExprClassification.cpp
+++ b/clang/lib/AST/ExprClassification.cpp
@@ -343,7 +343,7 @@ static Cl::Kinds ClassifyInternal(ASTContext &Ctx, const Expr *E) {
return ClassifyInternal(Ctx, cast<PackExpansionExpr>(E)->getPattern());
case Expr::MaterializeTemporaryExprClass:
- return cast<MaterializeTemporaryExpr>(E)->BoundToLvalueReference()
+ return cast<MaterializeTemporaryExpr>(E)->isBoundToLvalueReference()
? Cl::CL_LValue
: Cl::CL_XValue;
}
OpenPOWER on IntegriCloud