aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeroen van Rijn <Kelimion@users.noreply.github.com>2025-06-06 16:14:25 +0200
committerGitHub <noreply@github.com>2025-06-06 16:14:25 +0200
commit23315195c433e6ddb18b38e2286bcce671a03744 (patch)
tree205844f337c35a58fc7797f9471f7b6f9f37796c
parente7ae193c12d66994984d67854f60887e5098116b (diff)
parent3152be01b9653fcf54d5d879bf9acde465f52a97 (diff)
Merge pull request #5294 from iarkn/type-is-bit-field
Add `intrinsics.type_is_bit_field` proc
-rw-r--r--base/intrinsics/intrinsics.odin1
-rw-r--r--src/check_builtin.cpp2
-rw-r--r--src/checker_builtin_procs.hpp2
3 files changed, 5 insertions, 0 deletions
diff --git a/base/intrinsics/intrinsics.odin b/base/intrinsics/intrinsics.odin
index 46e39c8d1..c1d16c5e4 100644
--- a/base/intrinsics/intrinsics.odin
+++ b/base/intrinsics/intrinsics.odin
@@ -169,6 +169,7 @@ type_is_union :: proc($T: typeid) -> bool ---
type_is_enum :: proc($T: typeid) -> bool ---
type_is_proc :: proc($T: typeid) -> bool ---
type_is_bit_set :: proc($T: typeid) -> bool ---
+type_is_bit_field :: proc($T: typeid) -> bool ---
type_is_simd_vector :: proc($T: typeid) -> bool ---
type_is_matrix :: proc($T: typeid) -> bool ---
diff --git a/src/check_builtin.cpp b/src/check_builtin.cpp
index 700978a76..bd265affc 100644
--- a/src/check_builtin.cpp
+++ b/src/check_builtin.cpp
@@ -41,6 +41,7 @@ gb_global BuiltinTypeIsProc *builtin_type_is_procs[BuiltinProc__type_simple_bool
is_type_enum,
is_type_proc,
is_type_bit_set,
+ is_type_bit_field,
is_type_simd_vector,
is_type_matrix,
@@ -6081,6 +6082,7 @@ gb_internal bool check_builtin_procedure(CheckerContext *c, Operand *operand, As
case BuiltinProc_type_is_enum:
case BuiltinProc_type_is_proc:
case BuiltinProc_type_is_bit_set:
+ case BuiltinProc_type_is_bit_field:
case BuiltinProc_type_is_simd_vector:
case BuiltinProc_type_is_matrix:
case BuiltinProc_type_is_specialized_polymorphic_record:
diff --git a/src/checker_builtin_procs.hpp b/src/checker_builtin_procs.hpp
index f3b55daa4..90652cb0b 100644
--- a/src/checker_builtin_procs.hpp
+++ b/src/checker_builtin_procs.hpp
@@ -240,6 +240,7 @@ BuiltinProc__type_begin,
BuiltinProc__type_simple_boolean_begin,
BuiltinProc_type_is_boolean,
+ BuiltinProc_type_is_bit_field,
BuiltinProc_type_is_integer,
BuiltinProc_type_is_rune,
BuiltinProc_type_is_float,
@@ -630,6 +631,7 @@ gb_global BuiltinProc builtin_procs[BuiltinProc_COUNT] = {
{STR_LIT("type_is_enum"), 1, false, Expr_Expr, BuiltinProcPkg_intrinsics},
{STR_LIT("type_is_proc"), 1, false, Expr_Expr, BuiltinProcPkg_intrinsics},
{STR_LIT("type_is_bit_set"), 1, false, Expr_Expr, BuiltinProcPkg_intrinsics},
+ {STR_LIT("type_is_bit_field"), 1, false, Expr_Expr, BuiltinProcPkg_intrinsics},
{STR_LIT("type_is_simd_vector"), 1, false, Expr_Expr, BuiltinProcPkg_intrinsics},
{STR_LIT("type_is_matrix"), 1, false, Expr_Expr, BuiltinProcPkg_intrinsics},