fix default lookup rule

This commit is contained in:
Ryan Fleury
2025-01-29 17:00:50 -08:00
parent baa19f3de4
commit 394d35287a
2 changed files with 11 additions and 7 deletions
+2 -7
View File
@@ -76,13 +76,8 @@ e_select_ir_ctx(E_IRCtx *ctx)
internal E_LookupRule *
e_lookup_rule_from_string(String8 string)
{
local_persist read_only E_LookupRule e_lookup_rule__default =
{
str8_lit_comp("default"),
E_LOOKUP_INFO_FUNCTION_NAME(default),
E_LOOKUP_FUNCTION_NAME(default),
};
E_LookupRule *result = &e_lookup_rule__default;
if(e_ir_ctx->lookup_rule_map != 0 && e_ir_ctx->lookup_rule_map->slots_count != 0)
{
U64 hash = e_hash_from_string(5381, string);
U64 slot_idx = hash%e_ir_ctx->lookup_rule_map->slots_count;
@@ -142,7 +137,7 @@ E_LOOKUP_INFO_FUNCTION_DEF(default)
E_LOOKUP_FUNCTION_DEF(default)
{
E_Lookup lookup = {0};
E_Lookup lookup = {{&e_irnode_nil}};
switch(kind)
{
default:{}break;
+9
View File
@@ -83,6 +83,9 @@ typedef E_LOOKUP_INFO_FUNCTION_SIG(E_LookupInfoFunctionType);
#define E_LOOKUP_FUNCTION_DEF(name) internal E_LOOKUP_FUNCTION_SIG(E_LOOKUP_FUNCTION_NAME(name))
typedef E_LOOKUP_FUNCTION_SIG(E_LookupFunctionType);
E_LOOKUP_INFO_FUNCTION_DEF(default);
E_LOOKUP_FUNCTION_DEF(default);
typedef struct E_LookupRule E_LookupRule;
struct E_LookupRule
{
@@ -125,6 +128,12 @@ struct E_IRCtx
////////////////////////////////
//~ rjf: Globals
local_persist read_only E_LookupRule e_lookup_rule__default =
{
str8_lit_comp("default"),
E_LOOKUP_INFO_FUNCTION_NAME(default),
E_LOOKUP_FUNCTION_NAME(default),
};
global read_only E_IRNode e_irnode_nil = {&e_irnode_nil, &e_irnode_nil, &e_irnode_nil};
thread_static E_IRCtx *e_ir_ctx = 0;