aboutsummaryrefslogtreecommitdiff
path: root/CodeGen
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2007-08-21 04:43:17 +0000
committerChris Lattner <sabre@nondot.org>2007-08-21 04:43:17 +0000
commit03d6fb99224c36935c9af9f4785cb33453c99b2b (patch)
tree1eab4ad6a12bf1a5d5920f02ce2c7dcc7883e9b2 /CodeGen
parent9c03356918aee078e925c35f9854dfdf2492dfc3 (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.cpp16
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());