diff options
| author | Mike Stump <mrs@apple.com> | 2009-05-23 21:40:07 +0000 |
|---|---|---|
| committer | Mike Stump <mrs@apple.com> | 2009-05-23 21:40:07 +0000 |
| commit | 23abd46b79c711e558b32aff3a91c9e89d732e60 (patch) | |
| tree | 378ef030e023438d23577218f419052d0b2f191f /clang/lib/CodeGen | |
| parent | 86ced8af3d8236bfafee0f7c670a3006ec761cd1 (diff) | |
| download | bcm5719-llvm-23abd46b79c711e558b32aff3a91c9e89d732e60.tar.gz bcm5719-llvm-23abd46b79c711e558b32aff3a91c9e89d732e60.zip | |
More volatile fixes. Can't testcase these yet as ultimately volatile
is still ignored.
llvm-svn: 72344
Diffstat (limited to 'clang/lib/CodeGen')
| -rw-r--r-- | clang/lib/CodeGen/CGExpr.cpp | 2 | ||||
| -rw-r--r-- | clang/lib/CodeGen/CGExprAgg.cpp | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/clang/lib/CodeGen/CGExpr.cpp b/clang/lib/CodeGen/CGExpr.cpp index 2fe67542933..559bd4c60bc 100644 --- a/clang/lib/CodeGen/CGExpr.cpp +++ b/clang/lib/CodeGen/CGExpr.cpp @@ -56,7 +56,7 @@ RValue CodeGenFunction::EmitAnyExpr(const Expr *E, llvm::Value *AggLoc, return RValue::getComplex(EmitComplexExpr(E)); EmitAggExpr(E, AggLoc, isAggLocVolatile); - return RValue::getAggregate(AggLoc); + return RValue::getAggregate(AggLoc, isAggLocVolatile); } /// EmitAnyExprToTemp - Similary to EmitAnyExpr(), however, the result diff --git a/clang/lib/CodeGen/CGExprAgg.cpp b/clang/lib/CodeGen/CGExprAgg.cpp index b0551eb416e..951a5f0e396 100644 --- a/clang/lib/CodeGen/CGExprAgg.cpp +++ b/clang/lib/CodeGen/CGExprAgg.cpp @@ -197,8 +197,8 @@ void AggExprEmitter::VisitObjCKVCRefExpr(ObjCKVCRefExpr *E) { } void AggExprEmitter::VisitBinComma(const BinaryOperator *E) { - CGF.EmitAnyExpr(E->getLHS()); - CGF.EmitAggExpr(E->getRHS(), DestPtr, false); + CGF.EmitAnyExprToTemp(E->getLHS(), 0, VolatileDest); + CGF.EmitAggExpr(E->getRHS(), DestPtr, VolatileDest); } void AggExprEmitter::VisitStmtExpr(const StmtExpr *E) { |

