]> git.xonotic.org Git - xonotic/gmqcc.git/blobdiff - ir.c
ast_call now has a va_count which causes a store to reserved:va_count before the...
[xonotic/gmqcc.git] / ir.c
diff --git a/ir.c b/ir.c
index 5461b44cfabdb65bf60297eb1a4912cd6e32334b..f743d33ddaf61c10d0740d3dc0ffd5098c4bf21c 100644 (file)
--- a/ir.c
+++ b/ir.c
@@ -320,6 +320,8 @@ ir_builder* ir_builder_new(const char *modulename)
     self->nil = ir_value_var("nil", store_value, TYPE_NIL);
     self->nil->cvq = CV_CONST;
 
+    self->reserved_va_count = NULL;
+
     return self;
 }
 
@@ -418,6 +420,13 @@ ir_value* ir_builder_create_global(ir_builder *self, const char *name, int vtype
     return ve;
 }
 
+ir_value* ir_builder_get_va_count(ir_builder *self)
+{
+    if (self->reserved_va_count)
+        return self->reserved_va_count;
+    return (self->reserved_va_count = ir_builder_create_global(self, "reserved:va_count", TYPE_FLOAT));
+}
+
 ir_value* ir_builder_get_field(ir_builder *self, const char *name)
 {
     return (ir_value*)util_htget(self->htfields, name);