From 536cceeef9144b59a9e335d2bbb151ead3f7bdba Mon Sep 17 00:00:00 2001 From: gingerBill Date: Sun, 10 Nov 2019 18:51:21 +0000 Subject: [PATCH] Add `intrinsics.type_is_unsigned` --- core/intrinsics/intrinsics.odin | 1 + src/check_expr.cpp | 2 ++ src/checker_builtin_procs.hpp | 2 ++ 3 files changed, 5 insertions(+) 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},