aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2020-05-23 14:02:21 +0100
committergingerBill <bill@gingerbill.org>2020-05-23 14:02:21 +0100
commitcbfbff7240d7ce649137cede82ccf07b78888179 (patch)
treecf48961c37edd7ada6f6af34ece4837202d578e6 /src
parent99e6eba20fe1cc729ce0bbc92571e05d27dbb0b5 (diff)
Add intrinsics.type_is_comparable; Add sort.linear_search
Diffstat (limited to 'src')
-rw-r--r--src/check_expr.cpp2
-rw-r--r--src/checker_builtin_procs.hpp2
2 files changed, 4 insertions, 0 deletions
diff --git a/src/check_expr.cpp b/src/check_expr.cpp
index d2190d8cd..baedca6e5 100644
--- a/src/check_expr.cpp
+++ b/src/check_expr.cpp
@@ -3755,6 +3755,7 @@ BuiltinTypeIsProc *builtin_type_is_procs[BuiltinProc__type_simple_boolean_end -
is_type_ordered_numeric,
is_type_indexable,
is_type_sliceable,
+ is_type_comparable,
is_type_simple_compare,
is_type_dereferenceable,
is_type_valid_for_keys,
@@ -5568,6 +5569,7 @@ bool check_builtin_procedure(CheckerContext *c, Operand *operand, Ast *call, i32
case BuiltinProc_type_is_ordered_numeric:
case BuiltinProc_type_is_indexable:
case BuiltinProc_type_is_sliceable:
+ case BuiltinProc_type_is_comparable:
case BuiltinProc_type_is_simple_compare:
case BuiltinProc_type_is_dereferenceable:
case BuiltinProc_type_is_valid_map_key:
diff --git a/src/checker_builtin_procs.hpp b/src/checker_builtin_procs.hpp
index 7ef1be8b8..074e287d1 100644
--- a/src/checker_builtin_procs.hpp
+++ b/src/checker_builtin_procs.hpp
@@ -138,6 +138,7 @@ BuiltinProc__type_simple_boolean_begin,
BuiltinProc_type_is_ordered_numeric,
BuiltinProc_type_is_indexable,
BuiltinProc_type_is_sliceable,
+ BuiltinProc_type_is_comparable,
BuiltinProc_type_is_simple_compare, // easily compared using memcmp
BuiltinProc_type_is_dereferenceable,
BuiltinProc_type_is_valid_map_key,
@@ -315,6 +316,7 @@ gb_global BuiltinProc builtin_procs[BuiltinProc_COUNT] = {
{STR_LIT("type_is_ordered_numeric"), 1, false, Expr_Expr, BuiltinProcPkg_intrinsics},
{STR_LIT("type_is_indexable"), 1, false, Expr_Expr, BuiltinProcPkg_intrinsics},
{STR_LIT("type_is_sliceable"), 1, false, Expr_Expr, BuiltinProcPkg_intrinsics},
+ {STR_LIT("type_is_comparable"), 1, false, Expr_Expr, BuiltinProcPkg_intrinsics},
{STR_LIT("type_is_simple_compare"), 1, false, Expr_Expr, BuiltinProcPkg_intrinsics},
{STR_LIT("type_is_dereferenceable"), 1, false, Expr_Expr, BuiltinProcPkg_intrinsics},
{STR_LIT("type_is_valid_map_key"), 1, false, Expr_Expr, BuiltinProcPkg_intrinsics},