aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2007-08-21 17:15:50 +0000
committerChris Lattner <sabre@nondot.org>2007-08-21 17:15:50 +0000
commit756a4d88457aebb6c154a4cbb5d595fdb2e0899d (patch)
tree838e3cab201902ddae3ad8520ec829cd362ee5ae
parent4034edbf86c4855c0b104111fa6b6a0d9a1f9ada (diff)
implement comma for complex.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41235 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--CodeGen/CGComplexExpr.cpp6
-rw-r--r--CodeGen/CGExpr.cpp2
2 files changed, 7 insertions, 1 deletions
diff --git a/CodeGen/CGComplexExpr.cpp b/CodeGen/CGComplexExpr.cpp
index 7f94e26dbd..c7296fcfd0 100644
--- a/CodeGen/CGComplexExpr.cpp
+++ b/CodeGen/CGComplexExpr.cpp
@@ -77,6 +77,8 @@ public:
// No comparisons produce a complex result.
ComplexPairTy VisitBinAssign (const BinaryOperator *E);
+ ComplexPairTy VisitBinComma (const BinaryOperator *E);
+
ComplexPairTy VisitConditionalOperator(const ConditionalOperator *CO);
// case Expr::ChooseExprClass:
@@ -150,6 +152,10 @@ ComplexPairTy ComplexExprEmitter::VisitBinAssign(const BinaryOperator *E) {
return Val;
}
+ComplexPairTy ComplexExprEmitter::VisitBinComma(const BinaryOperator *E) {
+ CGF.EmitStmt(E->getLHS());
+ return Visit(E->getRHS());
+}
ComplexPairTy ComplexExprEmitter::
VisitConditionalOperator(const ConditionalOperator *E) {
diff --git a/CodeGen/CGExpr.cpp b/CodeGen/CGExpr.cpp
index 5e60e7b7b9..6cb4e86dc0 100644
--- a/CodeGen/CGExpr.cpp
+++ b/CodeGen/CGExpr.cpp
@@ -1353,7 +1353,7 @@ RValue CodeGenFunction::EmitBinaryAssign(const BinaryOperator *E) {
RValue CodeGenFunction::EmitBinaryComma(const BinaryOperator *E) {
- EmitExpr(E->getLHS());
+ EmitStmt(E->getLHS());
return EmitExpr(E->getRHS());
}