diff --git a/core/intrinsics/intrinsics.odin b/core/intrinsics/intrinsics.odin index 8ee12554c..4412c6580 100644 --- a/core/intrinsics/intrinsics.odin +++ b/core/intrinsics/intrinsics.odin @@ -95,6 +95,7 @@ type_is_any :: proc($T: typeid) -> bool --- type_is_endian_little :: proc($T: typeid) -> bool --- type_is_endian_big :: proc($T: typeid) -> bool --- +type_is_unsigned :: proc($T: typeid) -> bool --- type_is_numeric :: proc($T: typeid) -> bool --- type_is_ordered :: proc($T: typeid) -> bool --- type_is_ordered_numeric :: proc($T: typeid) -> bool --- diff --git a/src/check_expr.cpp b/src/check_expr.cpp index 46c4ae18e..22f27939e 100644 --- a/src/check_expr.cpp +++ b/src/check_expr.cpp @@ -3322,6 +3322,7 @@ BuiltinTypeIsProc *builtin_type_is_procs[BuiltinProc__type_end - BuiltinProc__ty is_type_any, is_type_endian_little, is_type_endian_big, + is_type_unsigned, is_type_numeric, is_type_ordered, is_type_ordered_numeric, @@ -5044,6 +5045,7 @@ bool check_builtin_procedure(CheckerContext *c, Operand *operand, Ast *call, i32 case BuiltinProc_type_is_any: case BuiltinProc_type_is_endian_little: case BuiltinProc_type_is_endian_big: + case BuiltinProc_type_is_unsigned: case BuiltinProc_type_is_numeric: case BuiltinProc_type_is_ordered: case BuiltinProc_type_is_ordered_numeric: diff --git a/src/checker_builtin_procs.hpp b/src/checker_builtin_procs.hpp index 612abc2b6..0ebbadd19 100644 --- a/src/checker_builtin_procs.hpp +++ b/src/checker_builtin_procs.hpp @@ -128,6 +128,7 @@ BuiltinProc__type_begin, BuiltinProc_type_is_endian_little, BuiltinProc_type_is_endian_big, + BuiltinProc_type_is_unsigned, BuiltinProc_type_is_numeric, BuiltinProc_type_is_ordered, BuiltinProc_type_is_ordered_numeric, @@ -290,6 +291,7 @@ gb_global BuiltinProc builtin_procs[BuiltinProc_COUNT] = { {STR_LIT("type_is_endian_little"), 1, false, Expr_Expr, BuiltinProcPkg_intrinsics}, {STR_LIT("type_is_endian_big"), 1, false, Expr_Expr, BuiltinProcPkg_intrinsics}, + {STR_LIT("type_is_unsigned"), 1, false, Expr_Expr, BuiltinProcPkg_intrinsics}, {STR_LIT("type_is_numeric"), 1, false, Expr_Expr, BuiltinProcPkg_intrinsics}, {STR_LIT("type_is_ordered"), 1, false, Expr_Expr, BuiltinProcPkg_intrinsics}, {STR_LIT("type_is_ordered_numeric"), 1, false, Expr_Expr, BuiltinProcPkg_intrinsics},