X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=ir.h;h=a7f41d0c79f80da57d137305ef09b81a7b317d4f;hb=852fa9d034b0940ed33ada26a28597c922ef39e9;hp=95fdd57520d50ec724e10cc8969175d5dd454bf7;hpb=04dca17cffcf250a6f561b8624fe053b96e37f86;p=xonotic%2Fgmqcc.git diff --git a/ir.h b/ir.h index 95fdd57..a7f41d0 100644 --- a/ir.h +++ b/ir.h @@ -52,6 +52,7 @@ typedef struct ir_value_s { float vfloat; int vint; vector vvec; + int32_t ivec[3]; char *vstring; struct ir_value_s *vpointer; struct ir_function_s *vfunc; @@ -305,6 +306,11 @@ typedef struct ir_builder_s MEM_VECTOR_MAKE(ir_function*, functions); MEM_VECTOR_MAKE(ir_value*, globals); MEM_VECTOR_MAKE(ir_value*, fields); + + MEM_VECTOR_MAKE(const char*, filenames); + MEM_VECTOR_MAKE(qcint, filestrings); + /* we cache the #IMMEDIATE string here */ + qcint str_immediate; } ir_builder; ir_builder* ir_builder_new(const char *modulename); @@ -313,8 +319,10 @@ void ir_builder_delete(ir_builder*); bool ir_builder_set_name(ir_builder *self, const char *name); MEM_VECTOR_PROTO(ir_builder, ir_function*, functions); -MEM_VECTOR_PROTO(ir_builder, ir_value*, globals); -MEM_VECTOR_PROTO(ir_builder, ir_value*, fields); +MEM_VECTOR_PROTO(ir_builder, ir_value*, globals); +MEM_VECTOR_PROTO(ir_builder, ir_value*, fields); +MEM_VECTOR_PROTO(ir_builder, const char*, filenames); +MEM_VECTOR_PROTO(ir_builder, qcint, filestrings); ir_function* ir_builder_get_function(ir_builder*, const char *fun); ir_function* ir_builder_create_function(ir_builder*, const char *name, int outtype);