aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/codegen.c
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-02-07 19:08:21 +0900
committernsfisis <nsfisis@gmail.com>2026-02-07 19:08:37 +0900
commit3752b69fe3424b949bcb61c222265ee6a435c994 (patch)
treeb878d0e67fe71c48db3dd45d4f2962d3413b4040 /src/codegen.c
parent0ae64ed2c00f66c7f3ddec8689169bacafff87ea (diff)
downloadducc-3752b69fe3424b949bcb61c222265ee6a435c994.tar.gz
ducc-3752b69fe3424b949bcb61c222265ee6a435c994.tar.zst
ducc-3752b69fe3424b949bcb61c222265ee6a435c994.zip
feat: workaround to compile Lua 5.5
Diffstat (limited to 'src/codegen.c')
-rw-r--r--src/codegen.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/codegen.c b/src/codegen.c
index 91baef8..bc1e3d3 100644
--- a/src/codegen.c
+++ b/src/codegen.c
@@ -832,6 +832,12 @@ static void codegen_func(CodeGen* g, AstNode* ast) {
}
static void codegen_global_var(CodeGen* g, AstNode* var) {
+ if (var->ty->storage_class == StorageClass_extern) {
+ return;
+ }
+ if (var->ty->storage_class != StorageClass_static) {
+ fprintf(g->out, ".globl %s\n", var->as.gvar_decl->name);
+ }
fprintf(g->out, " %s:\n", var->as.gvar_decl->name);
if (!var->as.gvar_decl->expr) {
fprintf(g->out, " .zero %d\n", type_sizeof(var->ty));