Expose some statements functions needed for code gen.

This commit is contained in:
Bill Currie 2012-11-07 14:09:01 +09:00
parent c43a8331cf
commit 802e1981bb
2 changed files with 7 additions and 3 deletions

View File

@ -83,9 +83,13 @@ typedef struct sblock_s {
} sblock_t; } sblock_t;
struct expr_s; struct expr_s;
struct type_s;
operand_t *temp_operand (struct type_s *type);
sblock_t *new_sblock (void);
int find_operands (statement_t *s, operand_t **x, operand_t **y, operand_t **z, int find_operands (statement_t *s, operand_t **x, operand_t **y, operand_t **z,
operand_t **w); operand_t **w);
void sblock_add_statement (sblock_t *sblock, statement_t *statement);
sblock_t *make_statements (struct expr_s *expr); sblock_t *make_statements (struct expr_s *expr);
void print_statement (statement_t *s); void print_statement (statement_t *s);
void dump_dot_sblock (void *data, const char *fname); void dump_dot_sblock (void *data, const char *fname);

View File

@ -265,7 +265,7 @@ static sblock_t *free_sblocks;
static statement_t *free_statements; static statement_t *free_statements;
static operand_t *free_operands; static operand_t *free_operands;
static sblock_t * sblock_t *
new_sblock (void) new_sblock (void)
{ {
sblock_t *sblock; sblock_t *sblock;
@ -274,7 +274,7 @@ new_sblock (void)
return sblock; return sblock;
} }
static void void
sblock_add_statement (sblock_t *sblock, statement_t *statement) sblock_add_statement (sblock_t *sblock, statement_t *statement)
{ {
// this should normally be null, but might be inserting // this should normally be null, but might be inserting
@ -342,7 +342,7 @@ free_sblock (sblock_t *sblock)
free_sblocks = sblock; free_sblocks = sblock;
} }
static operand_t * operand_t *
temp_operand (type_t *type) temp_operand (type_t *type)
{ {
operand_t *op = new_operand (op_temp); operand_t *op = new_operand (op_temp);