diff options
| author | gingerBill <bill@gingerbill.org> | 2019-08-03 10:07:09 +0100 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2019-08-03 10:07:09 +0100 |
| commit | 132fdf14b8c9dd717aea6ced64641030dd8adb47 (patch) | |
| tree | c85a6c7b5692e2f6c7a24698caaf0a5a941da1f8 /src/check_expr.cpp | |
| parent | e7d3001dd1ef698304d5fcda2c564350d6a25fe8 (diff) | |
Fix `min`, `max`, `clamp` final type bug
Diffstat (limited to 'src/check_expr.cpp')
| -rw-r--r-- | src/check_expr.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/check_expr.cpp b/src/check_expr.cpp index 4c5ca2348..36304bf65 100644 --- a/src/check_expr.cpp +++ b/src/check_expr.cpp @@ -3959,6 +3959,8 @@ bool check_builtin_procedure(CheckerContext *c, Operand *operand, Ast *call, i32 Type *bt = base_type(operands[0].type); if (are_types_identical(bt, t_f32)) add_package_dependency(c, "runtime", "min_f32"); if (are_types_identical(bt, t_f64)) add_package_dependency(c, "runtime", "min_f64"); + + operand->type = operands[0].type; } } break; @@ -4119,6 +4121,8 @@ bool check_builtin_procedure(CheckerContext *c, Operand *operand, Ast *call, i32 Type *bt = base_type(operands[0].type); if (are_types_identical(bt, t_f32)) add_package_dependency(c, "runtime", "max_f32"); if (are_types_identical(bt, t_f64)) add_package_dependency(c, "runtime", "max_f64"); + + operand->type = operands[0].type; } } break; @@ -4266,6 +4270,8 @@ bool check_builtin_procedure(CheckerContext *c, Operand *operand, Ast *call, i32 add_package_dependency(c, "runtime", "min_f64"); add_package_dependency(c, "runtime", "max_f64"); } + + operand->type = ops[0]->type; } } |