Browse Source

Add intrinsics for the matrix type

gingerBill 3 years ago
parent
commit
c561de33ee
2 changed files with 6 additions and 0 deletions
  1. 2 0
      src/check_builtin.cpp
  2. 4 0
      src/checker_builtin_procs.hpp

+ 2 - 0
src/check_builtin.cpp

@@ -25,6 +25,7 @@ BuiltinTypeIsProc *builtin_type_is_procs[BuiltinProc__type_simple_boolean_end -
 	is_type_simple_compare,
 	is_type_dereferenceable,
 	is_type_valid_for_keys,
+	is_type_valid_for_matrix_elems,
 
 	is_type_named,
 	is_type_pointer,
@@ -40,6 +41,7 @@ BuiltinTypeIsProc *builtin_type_is_procs[BuiltinProc__type_simple_boolean_end -
 	is_type_proc,
 	is_type_bit_set,
 	is_type_simd_vector,
+	is_type_matrix,
 
 	is_type_polymorphic_record_specialized,
 	is_type_polymorphic_record_unspecialized,

+ 4 - 0
src/checker_builtin_procs.hpp

@@ -196,6 +196,7 @@ BuiltinProc__type_simple_boolean_begin,
 	BuiltinProc_type_is_simple_compare, // easily compared using memcmp
 	BuiltinProc_type_is_dereferenceable,
 	BuiltinProc_type_is_valid_map_key,
+	BuiltinProc_type_is_valid_matrix_elements,
 
 	BuiltinProc_type_is_named,
 	BuiltinProc_type_is_pointer,
@@ -212,6 +213,7 @@ BuiltinProc__type_simple_boolean_begin,
 	BuiltinProc_type_is_bit_field_value,
 	BuiltinProc_type_is_bit_set,
 	BuiltinProc_type_is_simd_vector,
+	BuiltinProc_type_is_matrix,
 
 	BuiltinProc_type_is_specialized_polymorphic_record,
 	BuiltinProc_type_is_unspecialized_polymorphic_record,
@@ -441,6 +443,7 @@ gb_global BuiltinProc builtin_procs[BuiltinProc_COUNT] = {
 	{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},
+	{STR_LIT("type_is_valid_matrix_elements"), 1, false, Expr_Expr, BuiltinProcPkg_intrinsics},
 
 	{STR_LIT("type_is_named"),             1, false, Expr_Expr, BuiltinProcPkg_intrinsics},
 	{STR_LIT("type_is_pointer"),           1, false, Expr_Expr, BuiltinProcPkg_intrinsics},
@@ -457,6 +460,7 @@ gb_global BuiltinProc builtin_procs[BuiltinProc_COUNT] = {
 	{STR_LIT("type_is_bit_field_value"),   1, false, Expr_Expr, BuiltinProcPkg_intrinsics},
 	{STR_LIT("type_is_bit_set"),           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},
 
 	{STR_LIT("type_is_specialized_polymorphic_record"),   1, false, Expr_Expr, BuiltinProcPkg_intrinsics},
 	{STR_LIT("type_is_unspecialized_polymorphic_record"), 1, false, Expr_Expr, BuiltinProcPkg_intrinsics},