From cddd91863740e560ae95ccdd2be5aa0e128713ed Mon Sep 17 00:00:00 2001 From: Kaz Kylheku <kaz@kylheku.com> Date: Thu, 22 Jul 2021 07:18:58 -0700 Subject: hash: change make_hash interface. The make_hash function now takes the hash_weak_opt_t enumeration instead of a pair of flags. * hash.c (do_make_hash): Take enum argument instead of pair of flags. Just store the option; nothing to calculate. (weak_opt_from_flags): New static function. (tweak_hash): Function removed. (make_seeded_hash): Adjust to new do_make_hash interface with help from weak_opt_from_flags. (make_hash, make_eq_hash): Take enum argument instead of pair of flags. (hashv): Calculate hash_weak_opt_t enum from the extracted flags, pass down to make_eq_hash or make_hash. * hash.h (tweak_hash): Declration removed. (make_hash, make_eq_hash): Declarations updated. * eval.c (me_case, expand_switch): Update make_hash calls to new style. (eval_init): Update make_hash calls and get rid of tweak_hash calls. This renders the tweak_hash function unused. * ffi.c (make_ffi_type_enum, ffi_init): Update make_hash calls to new style. * filter.c (make_trie, trie_add, filter_init): Likewise. * lib.c (make_package_common, obj_init, obj_print): Likewise. * lisplib.c (lisplib_init): Likewise. * match.c (dir_tables_init): Likewise. * parser.c (parser_circ_def, repl, parse_init): Likewise. * parser.l (parser_l_init): Likewise. * struct.c (struct_init, get_slot_syms): Likewise. * sysif.c (get_env_hash): Likewise. * lex.yy.c.shipped, y.tab.c.shipped: Updated. --- ffi.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'ffi.c') diff --git a/ffi.c b/ffi.c index 89547891..958a7ef1 100644 --- a/ffi.c +++ b/ffi.c @@ -3647,8 +3647,8 @@ static val make_ffi_type_enum(val syntax, val enums, chk_calloc(1, sizeof *tft)); struct txr_ffi_type *btft = ffi_type_struct(base_type); - val sym_num = make_hash(nil, nil, t); - val num_sym = make_hash(nil, nil, nil); + val sym_num = make_hash(hash_weak_none, t); + val num_sym = make_hash(hash_weak_none, nil); val obj = cobj(coerce(mem_t *, tft), ffi_type_cls, &ffi_type_enum_ops); cnum lowest = INT_PTR_MAX; cnum highest = INT_PTR_MIN; @@ -6481,8 +6481,8 @@ void ffi_init(void) reg_fun(intern(lit("get-obj"), user_package), func_n2o(get_obj, 1)); reg_fun(intern(lit("fill-obj"), user_package), func_n3o(fill_obj, 2)); reg_fun(intern(lit("dyn-size"), system_package), func_n2(dyn_size)); - ffi_typedef_hash = make_hash(nil, nil, nil); - ffi_struct_tag_hash = make_hash(nil, nil, nil); + ffi_typedef_hash = make_hash(hash_weak_none, nil); + ffi_struct_tag_hash = make_hash(hash_weak_none, nil); ffi_init_types(); ffi_init_extra_types(); } -- cgit v1.2.3