summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGExprAgg.cpp
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2009-11-20 17:27:56 +0000
committerAnders Carlsson <andersca@mac.com>2009-11-20 17:27:56 +0000
commit0a66c2619104c7e9f9a0db15f151d1a03a648142 (patch)
tree03215020c717d2c4662419cbaf361bea38aa573c /clang/lib/CodeGen/CGExprAgg.cpp
parent9c7efbb996e7513fa0d8d59f0cc993f4fe55fe95 (diff)
downloadbcm5719-llvm-0a66c2619104c7e9f9a0db15f151d1a03a648142.tar.gz
bcm5719-llvm-0a66c2619104c7e9f9a0db15f151d1a03a648142.zip
Fix lifetime of conditional temporaries. Patch by Victor Zverovich!
llvm-svn: 89467
Diffstat (limited to 'clang/lib/CodeGen/CGExprAgg.cpp')
-rw-r--r--clang/lib/CodeGen/CGExprAgg.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/clang/lib/CodeGen/CGExprAgg.cpp b/clang/lib/CodeGen/CGExprAgg.cpp
index 0e10368ab04..0c8f1e69341 100644
--- a/clang/lib/CodeGen/CGExprAgg.cpp
+++ b/clang/lib/CodeGen/CGExprAgg.cpp
@@ -389,21 +389,21 @@ void AggExprEmitter::VisitConditionalOperator(const ConditionalOperator *E) {
llvm::Value *Cond = CGF.EvaluateExprAsBool(E->getCond());
Builder.CreateCondBr(Cond, LHSBlock, RHSBlock);
- CGF.PushConditionalTempDestruction();
+ CGF.StartConditionalBranch();
CGF.EmitBlock(LHSBlock);
// Handle the GNU extension for missing LHS.
assert(E->getLHS() && "Must have LHS for aggregate value");
Visit(E->getLHS());
- CGF.PopConditionalTempDestruction();
+ CGF.FinishConditionalBranch();
CGF.EmitBranch(ContBlock);
- CGF.PushConditionalTempDestruction();
+ CGF.StartConditionalBranch();
CGF.EmitBlock(RHSBlock);
Visit(E->getRHS());
- CGF.PopConditionalTempDestruction();
+ CGF.FinishConditionalBranch();
CGF.EmitBranch(ContBlock);
CGF.EmitBlock(ContBlock);
OpenPOWER on IntegriCloud