aboutsummaryrefslogtreecommitdiff
path: root/src/check_expr.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2019-08-03 10:07:09 +0100
committergingerBill <bill@gingerbill.org>2019-08-03 10:07:09 +0100
commit132fdf14b8c9dd717aea6ced64641030dd8adb47 (patch)
treec85a6c7b5692e2f6c7a24698caaf0a5a941da1f8 /src/check_expr.cpp
parente7d3001dd1ef698304d5fcda2c564350d6a25fe8 (diff)
Fix `min`, `max`, `clamp` final type bug
Diffstat (limited to 'src/check_expr.cpp')
-rw-r--r--src/check_expr.cpp6
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;
}
}