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
diff --git a/CodeGen/CGAggExpr.cpp b/CodeGen/CGAggExpr.cpp
index f0601cc..869e35d 100644
--- a/CodeGen/CGAggExpr.cpp
+++ b/CodeGen/CGAggExpr.cpp
@@ -89,7 +89,7 @@
   //  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::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 @@
     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 @@
     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());