diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2008-05-20 07:56:31 +0000 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2008-05-20 07:56:31 +0000 |
commit | 4b0e2a30e0fe55d55d3c0255fa79c14be3138722 (patch) | |
tree | 7f8112de54ac7ff4ae4fa1ad70d09329a5946665 /clang/lib | |
parent | 5148a4ba66f2a5a37074b84497e73f60ba4de24c (diff) | |
download | bcm5719-llvm-4b0e2a30e0fe55d55d3c0255fa79c14be3138722.tar.gz bcm5719-llvm-4b0e2a30e0fe55d55d3c0255fa79c14be3138722.zip |
Implement codegen for comma operator for structs.
llvm-svn: 51304
Diffstat (limited to 'clang/lib')
-rw-r--r-- | clang/lib/CodeGen/CGExprAgg.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CGExprAgg.cpp b/clang/lib/CodeGen/CGExprAgg.cpp index c7c250ee7be..2ac473439e6 100644 --- a/clang/lib/CodeGen/CGExprAgg.cpp +++ b/clang/lib/CodeGen/CGExprAgg.cpp @@ -82,6 +82,7 @@ public: void VisitBinaryOperator(const BinaryOperator *BO); void VisitBinAssign(const BinaryOperator *E); void VisitOverloadExpr(const OverloadExpr *E); + void VisitBinComma(const BinaryOperator *E); void VisitConditionalOperator(const ConditionalOperator *CO); @@ -213,6 +214,12 @@ void AggExprEmitter::VisitOverloadExpr(const OverloadExpr *E) EmitAggregateCopy(DestPtr, RV.getAggregateAddr(), E->getType()); } +void AggExprEmitter::VisitBinComma(const BinaryOperator *E) +{ + CGF.EmitAnyExpr(E->getLHS()); + CGF.EmitAggExpr(E->getRHS(), DestPtr, false); +} + void AggExprEmitter::VisitStmtExpr(const StmtExpr *E) { CGF.EmitCompoundStmt(*E->getSubStmt(), true, DestPtr, VolatileDest); } |