X-Git-Url: https://git.xonotic.org/?p=xonotic%2Fgmqcc.git;a=blobdiff_plain;f=parser.c;h=f589d63629361ddc6b48edd09d20299bb93227ef;hp=81bbbcbcba2cc8bd58e74eb16e436337bd7643b2;hb=b3e87c328009c3c5b1b700d600733906d7792f59;hpb=e2c424d607a319ae76be8161a734a96fa285e99f diff --git a/parser.c b/parser.c index 81bbbcb..f589d63 100644 --- a/parser.c +++ b/parser.c @@ -1085,23 +1085,21 @@ static bool parser_sy_apply_operator(parser_t *parser, shunt *sy) else if (ConstF(0) > ConstF(1)) out = (ast_expression*)parser_const_float_1(parser); } else { + ast_binary *eq = ast_binary_new(ctx, INSTR_EQ_F, exprs[0], exprs[1]); + + eq->refs = false; /* references nothing */ + /* if (lt) { */ out = (ast_expression*)ast_ternary_new(ctx, (ast_expression*)ast_binary_new(ctx, INSTR_LT, exprs[0], exprs[1]), - /* out = -1 */ (ast_expression*)parser_const_float_neg1(parser), - /* } else { */ /* if (eq) { */ - (ast_expression*)ast_ternary_new(ctx, - (ast_expression*)ast_binary_new(ctx, INSTR_EQ_F, exprs[0], exprs[1]), - + (ast_expression*)ast_ternary_new(ctx, (ast_expression*)eq, /* out = 0 */ (ast_expression*)parser_const_float_0(parser), - /* } else { */ - /* out = 1 */ (ast_expression*)parser_const_float_1(parser) /* } */