Use a branch instead of math on enum types

This commit is contained in:
Dale Weiler 2013-11-13 04:57:18 -05:00
parent f43106017f
commit 1900262df4

View file

@ -476,7 +476,10 @@ static bool parser_sy_apply_operator(parser_t *parser, shunt *sy)
type_name[exprs[0]->vtype]);
return false;
}
out = (ast_expression*)ast_unary_new(ctx, (VINSTR_NEG_F-TYPE_FLOAT) + exprs[0]->vtype, exprs[0]);
if (exprs[0]->vtype == TYPE_FLOAT)
out = (ast_expression*)ast_unary_new(ctx, VINSTR_NEG_F, exprs[0]);
else
out = (ast_expression*)ast_unary_new(ctx, VINSTR_NEG_V, exprs[0]);
break;
case opid2('!','P'):