Closed svhawkins closed 7 months ago
12.12.2023 - 22:24: memory issues have been resolved with the removal of the (rather shoddy) hidden symbol implementation and its tests. There were also a few cases of execessive strdup()
causing more allocs than frees. Some tests were also split into multiple to make them simpler.
Tests that use strings and/or hidden symbols in any fashion are not being managed properly. They cause aborts due to in invalid free somewhere. The affected tests have been commented out in their respective files:
test_stack.c
test_symbol_table_hidden_global
test_symbol_table_hidden_local
test_typecheck.c
test_expr_typecheck_primitive
test_expr_typecheck_assign_bad_string
test_decl_typecheck
test_decl_typecheck_value_type_mismatch
test_decl_typecheck_function_ret_type_mismatch
test_stmt_typecheck_print
The fact that hidden symbols are bringing so many problems only begs the question whether should be reimplemented as a symbol table only addition (instead of having a decl hidden list, which is also causing problems) or not.