use a less obtuse api for vnew()

This commit is contained in:
Quentin Carbonneaux 2017-01-12 22:31:51 -05:00
parent e38da51c14
commit 2b4ece6f99
8 changed files with 29 additions and 21 deletions

11
all.h
View file

@ -490,13 +490,14 @@ struct Dat {
/* main.c */
enum Asm {
Gasmacho,
Gaself,
};
extern char debug['Z'+1];
/* util.c */
typedef enum {
Pheap, /* free() necessary */
Pfn, /* discarded after processing the function */
} Pool;
extern Typ typ[NTyp];
extern Ins insb[NIns], *curi;
void die_(char *, char *, ...) __attribute__((noreturn));
@ -507,7 +508,7 @@ void emit(int, int, Ref, Ref, Ref);
void emiti(Ins);
void idup(Ins **, Ins *, ulong);
Ins *icpy(Ins *, Ins *, ulong);
void *vnew(ulong, size_t, void *(size_t));
void *vnew(ulong, size_t, Pool);
void vfree(void *);
void vgrow(void *, ulong);
int clsmerge(short *, short);