]> git.xonotic.org Git - xonotic/gmqcc.git/blobdiff - gmqcc.h
ast_block_set_type
[xonotic/gmqcc.git] / gmqcc.h
diff --git a/gmqcc.h b/gmqcc.h
index e814bce6c9ac70f23c1e37c79b88e52c5d476fa7..d8374803ae886773a9ac4b39a352ecbdbc72ab99 100644 (file)
--- a/gmqcc.h
+++ b/gmqcc.h
@@ -371,6 +371,13 @@ enum {
 };
 
 extern size_t type_sizeof[TYPE_COUNT];
+extern uint16_t type_store_instr[TYPE_COUNT];
+/* could use type_store_instr + INSTR_STOREP_F - INSTR_STORE_F
+ * but this breaks when TYPE_INTEGER is added, since with the enhanced
+ * instruction set, the old ones are left untouched, thus the _I instructions
+ * are at a seperate place.
+ */
+extern uint16_t type_storep_instr[TYPE_COUNT];
 
 /*
  * Each paramater incerements by 3 since vector types hold
@@ -774,6 +781,7 @@ _MEM_VEC_FUN_FIND(Tself, Twhat, mem)
 enum store_types {
     store_global,
     store_local,  /* local, assignable for now, should get promoted later */
+    store_param,  /* parameters, they are locals with a fixed position */
     store_value,  /* unassignable */
     store_return  /* unassignable, at OFS_RETURN */
 };