diff options
author | Chris Lattner <sabre@nondot.org> | 2007-08-21 04:43:17 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2007-08-21 04:43:17 +0000 |
commit | 03d6fb99224c36935c9af9f4785cb33453c99b2b (patch) | |
tree | 1eab4ad6a12bf1a5d5920f02ce2c7dcc7883e9b2 /CodeGen | |
parent | 9c03356918aee078e925c35f9854dfdf2492dfc3 (diff) |
Add the ability to visit binary operators without having to
match on binop then explicitly switching again.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41214 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'CodeGen')
-rw-r--r-- | CodeGen/CGAggExpr.cpp | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/CodeGen/CGAggExpr.cpp b/CodeGen/CGAggExpr.cpp index f0601cc5bd..869e35dac5 100644 --- a/CodeGen/CGAggExpr.cpp +++ b/CodeGen/CGAggExpr.cpp @@ -89,7 +89,7 @@ public: // case Expr::CastExprClass: // case Expr::CallExprClass: void VisitBinaryOperator(const BinaryOperator *BO); - void VisitBinaryAssign(const BinaryOperator *E); + void VisitBinAssign(const BinaryOperator *E); void VisitConditionalOperator(const ConditionalOperator *CO); @@ -128,12 +128,12 @@ void AggExprEmitter::EmitAggLoadOfLValue(const Expr *E) { } void AggExprEmitter::VisitBinaryOperator(const BinaryOperator *E) { + fprintf(stderr, "Unimplemented aggregate binary expr!\n"); + E->dump(); +#if 0 switch (E->getOpcode()) { default: - fprintf(stderr, "Unimplemented aggregate binary expr!\n"); - E->dump(); return; -#if 0 case BinaryOperator::Mul: LHS = EmitExpr(E->getLHS()); RHS = EmitExpr(E->getRHS()); @@ -183,10 +183,6 @@ void AggExprEmitter::VisitBinaryOperator(const BinaryOperator *E) { LHS = EmitExpr(E->getLHS()); RHS = EmitExpr(E->getRHS()); return EmitOr(LHS, RHS, E->getType()); -#endif - case BinaryOperator::Assign: return VisitBinaryAssign(E); - -#if 0 case BinaryOperator::MulAssign: { const CompoundAssignOperator *CAO = cast<CompoundAssignOperator>(E); LValue LHSLV; @@ -258,11 +254,11 @@ void AggExprEmitter::VisitBinaryOperator(const BinaryOperator *E) { return EmitCompoundAssignmentResult(CAO, LHSLV, LHS); } case BinaryOperator::Comma: return EmitBinaryComma(E); -#endif } +#endif } -void AggExprEmitter::VisitBinaryAssign(const BinaryOperator *E) { +void AggExprEmitter::VisitBinAssign(const BinaryOperator *E) { assert(E->getLHS()->getType().getCanonicalType() == E->getRHS()->getType().getCanonicalType() && "Invalid assignment"); LValue LHS = CGF.EmitLValue(E->getLHS()); |