summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2008-05-20 07:56:31 +0000
committerEli Friedman <eli.friedman@gmail.com>2008-05-20 07:56:31 +0000
commit4b0e2a30e0fe55d55d3c0255fa79c14be3138722 (patch)
tree7f8112de54ac7ff4ae4fa1ad70d09329a5946665 /clang/lib
parent5148a4ba66f2a5a37074b84497e73f60ba4de24c (diff)
downloadbcm5719-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.cpp7
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);
}
OpenPOWER on IntegriCloud