- implemented '**' (power) operator. To ensure reliability, acustom 'pow' function will be used to calculate it.

- fixed: FxBinary::ResolveLR' check for numeric operations was incomplete. Like far too many other places it just assumed that everything with ValueType->GetRegType() == REGT_INT is a numeric type, but for names this is not the case.
This commit is contained in:
Christoph Oelckers 2016-10-17 15:17:48 +02:00
commit 938ab4ca70
10 changed files with 1033 additions and 10 deletions

View file

@ -2422,6 +2422,9 @@ FxExpression *ZCCCompiler::ConvertNode(ZCC_TreeNode *ast)
case PEX_Mod:
return new FxMulDiv(op == PEX_Mul ? '*' : op == PEX_Div ? '/' : '%', left, right);
case PEX_Pow:
return new FxPow(left, right);
default:
I_Error("Binary operator %d not implemented yet", op);
}