From: Chris Lattner Date: Tue, 21 Aug 2007 17:15:50 +0000 (+0000) Subject: implement comma for complex. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=756a4d88457aebb6c154a4cbb5d595fdb2e0899d;p=clang implement comma for complex. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41235 91177308-0d34-0410-b5e6-96231b3b80d8 --- 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()); }