X-Git-Url: https://git.xonotic.org/?p=xonotic%2Fgmqcc.git;a=blobdiff_plain;f=parser.c;h=d5f800cb7a6a94d095427e232ac0e76616df615c;hp=e9cbe0a031c81dc723cf5ff4cecbb7ab7dc96380;hb=52ffc6db10de5815e4256d9fdc4665b409c34147;hpb=4b5afe3456eff35028cf2a7a78a4bb60fb43c618 diff --git a/parser.c b/parser.c index e9cbe0a..d5f800c 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) /* } */