From cd64d959ef6f552bb933fe2e6581b536efd35b8f Mon Sep 17 00:00:00 2001 From: Ryan Fleury Date: Wed, 23 Jul 2025 14:31:51 -0700 Subject: [PATCH] apply integer truncation operations on both sign/size changes, rather than just size --- src/eval/eval_ir.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/eval/eval_ir.c b/src/eval/eval_ir.c index 8f2aa277..6f015ae7 100644 --- a/src/eval/eval_ir.c +++ b/src/eval/eval_ir.c @@ -873,7 +873,7 @@ e_push_irtree_and_type_from_expr(Arena *arena, E_IRTreeAndType *root_parent, E_I { new_tree = e_irtree_convert_lo(arena, in_tree, out_group, in_group); } - if(cast_type_byte_size < casted_type_byte_size && e_type_kind_is_integer(cast_type_kind)) + if(cast_type_kind != casted_type_kind && e_type_kind_is_integer(cast_type_kind)) { new_tree = e_irtree_trunc(arena, in_tree, cast_type); }