-/* builder */
-#define IR_HT_SIZE 1024
-typedef struct ir_builder_s
-{
- char *name;
- ir_function **functions;
- ir_value **globals;
- ir_value **fields;
-
- ht htfunctions;
- ht htglobals;
- ht htfields;
-
- ir_value **extparams;
- ir_value **extparam_protos;
-
- /* the highest func->allocated_locals */
- size_t max_locals;
- size_t max_globaltemps;
- uint32_t first_common_local;
- uint32_t first_common_globaltemp;
-
- const char **filenames;
- qcint *filestrings;
- /* we cache the #IMMEDIATE string here */
- qcint str_immediate;
- /* there should just be this one nil */
- ir_value *nil;
- ir_value *reserved_va_count;
-} ir_builder;
-
-ir_builder* ir_builder_new(const char *modulename);
-void ir_builder_delete(ir_builder*);
-
-bool ir_builder_set_name(ir_builder *self, const char *name);
-
-ir_function* ir_builder_get_function(ir_builder*, const char *fun);
-ir_function* ir_builder_create_function(ir_builder*, const char *name, int outtype);
-
-ir_value* ir_builder_get_global(ir_builder*, const char *fun);
-ir_value* ir_builder_create_global(ir_builder*, const char *name, int vtype);
-ir_value* ir_builder_get_field(ir_builder*, const char *fun);
-ir_value* ir_builder_create_field(ir_builder*, const char *name, int vtype);
-
-ir_value* ir_builder_get_va_count(ir_builder*);
-
-bool ir_builder_generate(ir_builder *self, const char *filename);
-
-void ir_builder_dump(ir_builder*, int (*oprintf)(const char*, ...));
-
-/* This code assumes 32 bit floats while generating binary */
-extern int check_int_and_float_size
-[ (sizeof(int32_t) == sizeof(qcfloat)) ? 1 : -1 ];