]> granicus.if.org Git - clang/commitdiff
implement comma for complex.
authorChris Lattner <sabre@nondot.org>
Tue, 21 Aug 2007 17:15:50 +0000 (17:15 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 21 Aug 2007 17:15:50 +0000 (17:15 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41235 91177308-0d34-0410-b5e6-96231b3b80d8

CodeGen/CGComplexExpr.cpp
CodeGen/CGExpr.cpp

index 7f94e26dbdf8f5448ccaf8e06dac54c0aebd42bf..c7296fcfd04bb765b01ccb252c35d618a1f2515e 100644 (file)
@@ -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) {
index 5e60e7b7b9fad54c1215f1c9b55f74e1de2c0a23..6cb4e86dc030782f14b0ef55a35c4809b651a7b7 100644 (file)
@@ -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());
 }