From 240993d17d2b51c78d52df8743bdee4177960341 Mon Sep 17 00:00:00 2001 From: Mike Stump Date: Sat, 23 May 2009 23:48:13 +0000 Subject: [PATCH] Propagate volatile around for property references. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72352 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/CGExprAgg.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/lib/CodeGen/CGExprAgg.cpp b/lib/CodeGen/CGExprAgg.cpp index b37b7d284e..ecfbf4836c 100644 --- a/lib/CodeGen/CGExprAgg.cpp +++ b/lib/CodeGen/CGExprAgg.cpp @@ -227,13 +227,12 @@ void AggExprEmitter::VisitBinAssign(const BinaryOperator *E) { // We have to special case property setters, otherwise we must have // a simple lvalue (no aggregates inside vectors, bitfields). if (LHS.isPropertyRef()) { - // FIXME: Volatility? llvm::Value *AggLoc = DestPtr; if (!AggLoc) AggLoc = CGF.CreateTempAlloca(CGF.ConvertType(E->getRHS()->getType())); - CGF.EmitAggExpr(E->getRHS(), AggLoc, false); + CGF.EmitAggExpr(E->getRHS(), AggLoc, VolatileDest); CGF.EmitObjCPropertySet(LHS.getPropertyRefExpr(), - RValue::getAggregate(AggLoc)); + RValue::getAggregate(AggLoc, VolatileDest)); } else if (LHS.isKVCRef()) { // FIXME: Volatility? -- 2.40.0