1.1 --- a/src/compiler/SemanticAnalysis.cpp Sun Nov 18 15:26:12 2012 -0800
1.2 +++ b/src/compiler/SemanticAnalysis.cpp Sun Nov 18 15:50:41 2012 -0800
1.3 @@ -586,6 +586,31 @@
1.4 right);
1.5 }
1.6
1.7 +void
1.8 +SemanticAnalysis::visitIncDecExpression(IncDecExpression *node)
1.9 +{
1.10 + HLValue *lval = lvalue(node->expression());
1.11 + if (!lval)
1.12 + return;
1.13 +
1.14 + if (!lval->type()->isInt32() && !lval->type()->isFloat()) {
1.15 + assert(false);
1.16 + return;
1.17 + }
1.18 +
1.19 + HIR *rval;
1.20 + if (lval->type()->isInt32())
1.21 + rval = new (pool_) HInteger(lval->type(), 1);
1.22 + else
1.23 + rval = new (pool_) HFloat(lval->type(), 1.0);
1.24 +
1.25 + if (node->postfix()) {
1.26 + assert(false);
1.27 + } else {
1.28 + hir_ = new (pool_) HStore(node->token(), lval, rval);
1.29 + }
1.30 +}
1.31 +
1.32 Type *
1.33 SemanticAnalysis::coercionType(TokenKind token, HIR *left, HIR *right)
1.34 {