aboutsummaryrefslogtreecommitdiff
path: root/compile.c
diff options
context:
space:
mode:
authorBruce Hill <bruce@bruce-hill.com>2024-05-31 13:55:34 -0400
committerBruce Hill <bruce@bruce-hill.com>2024-05-31 13:55:34 -0400
commit9536487df883aa98d5783afb4e897b935fad6a9e (patch)
treea89c9b067a65b12e89b1aadab76e3dbb35534a93 /compile.c
parent010089fceb4f9949d826262894b7580883d6ecbd (diff)
Fix "extern" issue for real
Diffstat (limited to 'compile.c')
-rw-r--r--compile.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/compile.c b/compile.c
index b59f68cb..e7bb14c7 100644
--- a/compile.c
+++ b/compile.c
@@ -1958,9 +1958,9 @@ void compile_namespace(env_t *env, const char *ns_name, ast_t *block)
if (!is_constant(env, decl->value))
code_err(decl->value, "This value is supposed to be a compile-time constant, but I can't figure out how to make it one");
CORD var_decl = CORD_all(compile_type(env, t), " ", compile(ns_env, decl->var), " = ", compile(ns_env, decl->value), ";\n");
- env->code->staticdefs = CORD_all(env->code->staticdefs, "extern ", var_decl);
+ env->code->staticdefs = CORD_all(env->code->staticdefs, var_decl);
- env->code->fndefs = CORD_all(env->code->fndefs, compile_type(env, t), " ", compile(ns_env, decl->var), ";\n");
+ env->code->fndefs = CORD_all(env->code->fndefs, "extern ", compile_type(env, t), " ", compile(ns_env, decl->var), ";\n");
break;
}
default: {
@@ -2225,10 +2225,10 @@ module_code_t compile_file(ast_t *ast)
} else {
env->code->fndefs = CORD_all(
env->code->fndefs,
- compile_declaration(env, t, CORD_cat(env->file_prefix, decl_name)), ";\n");
+ "extern ", compile_declaration(env, t, CORD_cat(env->file_prefix, decl_name)), ";\n");
env->code->staticdefs = CORD_all(
env->code->staticdefs,
- "extern ", compile_type(env, t), " ", env->file_prefix, decl_name, " = ",
+ compile_type(env, t), " ", env->file_prefix, decl_name, " = ",
compile(env, decl->value), ";\n");
}
} else if (stmt->ast->tag == InlineCCode) {