diff options
Diffstat (limited to 'lib/CodeGen/CGExprAgg.cpp')
-rw-r--r-- | lib/CodeGen/CGExprAgg.cpp | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/lib/CodeGen/CGExprAgg.cpp b/lib/CodeGen/CGExprAgg.cpp index 9ff8006e8c..cfb67ade79 100644 --- a/lib/CodeGen/CGExprAgg.cpp +++ b/lib/CodeGen/CGExprAgg.cpp @@ -292,17 +292,9 @@ void AggExprEmitter::VisitVAArgExpr(VAArgExpr *VE) { void AggExprEmitter::VisitCXXConstructExpr(const CXXConstructExpr *E) { - llvm::Value *V = DestPtr; - - if (!V) { - assert(isa<CXXTempVarDecl>(E->getVarDecl()) && - "Must have a temp var decl when there's no destination!"); - - V = CGF.CreateTempAlloca(CGF.ConvertType(E->getVarDecl()->getType()), - "tmpvar"); - } - - CGF.EmitCXXConstructExpr(V, E); + assert(DestPtr && "Must have somewhere to emit into!"); + + CGF.EmitCXXConstructExpr(DestPtr, E); } void AggExprEmitter::VisitCXXExprWithTemporaries(CXXExprWithTemporaries *E) { |