diff options
| author | Bruce Hill <bruce@bruce-hill.com> | 2025-04-16 02:05:50 -0400 |
|---|---|---|
| committer | Bruce Hill <bruce@bruce-hill.com> | 2025-04-16 02:05:50 -0400 |
| commit | 7be536c5dfe3621d1d42a13ec0a3ef98ceb7f570 (patch) | |
| tree | f257d3d4777af1ae2b21dba1be94bf75764a7a5d /src | |
| parent | a2d2916e3220ec333122afb9cdef0f5c1eda84f7 (diff) | |
Bugfix for top-level variables in libraries
Diffstat (limited to 'src')
| -rw-r--r-- | src/compile.c | 4 | ||||
| -rw-r--r-- | src/tomo.c | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/src/compile.c b/src/compile.c index 5c153f87..023b2e2e 100644 --- a/src/compile.c +++ b/src/compile.c @@ -4262,7 +4262,7 @@ CORD compile_top_level_code(env_t *env, ast_t *ast) if ((decl->value && is_constant(env, decl->value)) || (!decl->value && !has_heap_memory(t))) { set_binding(env, decl_name, t, full_name); return CORD_all( - is_private ? "static " : CORD_EMPTY, + is_private ? "static " : "public ", compile_declaration(t, full_name), " = ", val_code, ";\n"); } else { CORD checked_access = CORD_all("check_initialized(", full_name, ", \"", decl_name, "\")"); @@ -4270,7 +4270,7 @@ CORD compile_top_level_code(env_t *env, ast_t *ast) return CORD_all( "static bool ", full_name, "$initialized = false;\n", - is_private ? "static " : CORD_EMPTY, + is_private ? "static " : "public ", compile_declaration(t, full_name), ";\n"); } } @@ -459,7 +459,7 @@ void build_library(Text_t lib_dir_name) FILE *prog; for (int64_t i = 0; i < tm_files.length; i++) { Path_t f = *(Path_t*)(tm_files.data + i*tm_files.stride); - prog = run_cmd("nm -g '", build_file(f, ".o"), "' | awk '$2~/^[DT]$/{print $3 \" _$", + prog = run_cmd("nm -g '", build_file(f, ".o"), "' | awk '$2~/^[DTB]$/{print $3 \" _$", CORD_to_const_char_star(env->libname), "\" substr($3,2)}' " ">>.build/symbol_renames.txt"); if (!prog) print_err("Could not find symbols!"); |
