aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2018-08-21 21:43:38 +0100
committergingerBill <bill@gingerbill.org>2018-08-21 21:43:38 +0100
commit54fe9f3eb145d171f0277a90c19ce6da09832742 (patch)
tree6832fc74fc54fa9bb1af04e4fa99f8476862c2ca
parentcbc6c2666bc3e88a29745a214456618262b09971 (diff)
Improve min dep for min/max/abs/clamp
-rw-r--r--src/check_expr.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/check_expr.cpp b/src/check_expr.cpp
index 8c9efd71b..8b143cf36 100644
--- a/src/check_expr.cpp
+++ b/src/check_expr.cpp
@@ -3503,8 +3503,8 @@ bool check_builtin_procedure(CheckerContext *c, Operand *operand, Ast *call, i32
{
Type *bt = base_type(a.type);
- if (bt == t_f32) add_package_dependency(c, "runtime", "__min_f32");
- if (bt == t_f64) add_package_dependency(c, "runtime", "__min_f64");
+ 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");
}
}
@@ -3622,10 +3622,10 @@ bool check_builtin_procedure(CheckerContext *c, Operand *operand, Ast *call, i32
{
Type *bt = base_type(operand->type);
- if (bt == t_f32) add_package_dependency(c, "runtime", "__abs_f32");
- if (bt == t_f64) add_package_dependency(c, "runtime", "__abs_f64");
- if (bt == t_complex64) add_package_dependency(c, "runtime", "__abs_complex64");
- if (bt == t_complex128) add_package_dependency(c, "runtime", "__abs_complex128");
+ if (are_types_identical(bt, t_f32)) add_package_dependency(c, "runtime", "__abs_f32");
+ if (are_types_identical(bt, t_f64)) add_package_dependency(c, "runtime", "__abs_f64");
+ if (are_types_identical(bt, t_complex64)) add_package_dependency(c, "runtime", "__abs_complex64");
+ if (are_types_identical(bt, t_complex128)) add_package_dependency(c, "runtime", "__abs_complex128");
}
}
@@ -3725,11 +3725,11 @@ bool check_builtin_procedure(CheckerContext *c, Operand *operand, Ast *call, i32
{
Type *bt = base_type(x.type);
- if (bt == t_f32) {
+ if (are_types_identical(bt, t_f32)) {
add_package_dependency(c, "runtime", "__min_f32");
add_package_dependency(c, "runtime", "__max_f32");
}
- if (bt == t_f64) {
+ if (are_types_identical(bt, t_f64)) {
add_package_dependency(c, "runtime", "__min_f64");
add_package_dependency(c, "runtime", "__max_f64");
}