]> git.xonotic.org Git - xonotic/gmqcc.git/blobdiff - ast.c
call ir_function_finalize on array accessors otherwise they'll blow up stuff
[xonotic/gmqcc.git] / ast.c
diff --git a/ast.c b/ast.c
index 89da314f114b03b28d442c4fae1b685425b5ef8d..e1d8b797bd92da343699e3d0355096b85d156341 100644 (file)
--- a/ast.c
+++ b/ast.c
@@ -1160,12 +1160,14 @@ bool ast_local_codegen(ast_value *self, ir_function *func, bool param)
 
     if (self->setter) {
         if (!ast_global_codegen(self->setter, func->owner, false) ||
-            !ast_function_codegen(self->setter->constval.vfunc, func->owner))
+            !ast_function_codegen(self->setter->constval.vfunc, func->owner) ||
+            !ir_function_finalize(self->setter->constval.vfunc->ir_func))
             return false;
     }
     if (self->getter) {
         if (!ast_global_codegen(self->getter, func->owner, false) ||
-            !ast_function_codegen(self->getter->constval.vfunc, func->owner))
+            !ast_function_codegen(self->getter->constval.vfunc, func->owner) ||
+            !ir_function_finalize(self->getter->constval.vfunc->ir_func))
             return false;
     }
     return true;