label st_continue;
};
-
-/* allocation definitions of struct stat_block */
/* ALLOCDEF "stat_block" */
-extern char *st_alloc();
-extern struct stat_block *h_stat_block;
-#define new_stat_block() ((struct stat_block *) \
- st_alloc((char **)&h_stat_block, sizeof(struct stat_block)))
-#define free_stat_block(p) st_free(p, h_stat_block, sizeof(struct stat_block))
-
#define LVAL 0
#define RVAL 1
struct idstack_item *dc_fparams; /* params for function */
};
-
-/* allocation definitions of struct declarator */
/* ALLOCDEF "declarator" */
-extern char *st_alloc();
-extern struct declarator *h_declarator;
-#define new_declarator() ((struct declarator *) \
- st_alloc((char **)&h_declarator, sizeof(struct declarator)))
-#define free_declarator(p) st_free(p, h_declarator, sizeof(struct declarator))
-
#define NO_PARAMS ((struct idstack_item *) 0)
arith du_count; /* for ARRAYs only */
};
-
-/* allocation definitions of struct decl_unary */
/* ALLOCDEF "decl_unary" */
-extern char *st_alloc();
-extern struct decl_unary *h_decl_unary;
-#define new_decl_unary() ((struct decl_unary *) \
- st_alloc((char **)&h_decl_unary, sizeof(struct decl_unary)))
-#define free_decl_unary(p) st_free(p, h_decl_unary, sizeof(struct decl_unary))
-
extern struct type *declare_type();
extern struct declarator null_declarator;
int ds_unsigned; /* 0 or 1 */
};
-
-/* allocation definitions of struct decspecs */
/* ALLOCDEF "decspecs" */
-extern char *st_alloc();
-extern struct decspecs *h_decspecs;
-#define new_decspecs() ((struct decspecs *) \
- st_alloc((char **)&h_decspecs, sizeof(struct decspecs)))
-#define free_decspecs(p) st_free(p, h_decspecs, sizeof(struct decspecs))
-
extern struct decspecs null_decspecs;
#define REG_DEFAULT 1 /* register candidate, not declared as such */
#define REG_BONUS 10 /* register candidate, declared as such */
-
-/* allocation definitions of struct def */
/* ALLOCDEF "def" */
-extern char *st_alloc();
-extern struct def *h_def;
-#define new_def() ((struct def *) \
- st_alloc((char **)&h_def, sizeof(struct def)))
-#define free_def(p) st_free(p, h_def, sizeof(struct def))
-
extern struct expr *intexpr(), *new_oper();
-
-/* allocation definitions of struct expr */
/* ALLOCDEF "expr" */
-extern char *st_alloc();
-extern struct expr *h_expr;
-#define new_expr() ((struct expr *) \
- st_alloc((char **)&h_expr, sizeof(struct expr)))
-#define free_expr(p) st_free(p, h_expr, sizeof(struct expr))
-
#define ISCOMMA(e) ((e)->ex_class == Oper && (e)->OP_OPER == INITCOMMA)
struct sdef *fd_sdef; /* upward pointer */
};
-
-/* allocation definitions of struct field */
/* ALLOCDEF "field" */
-extern char *st_alloc();
-extern struct field *h_field;
-#define new_field() ((struct field *) \
- st_alloc((char **)&h_field, sizeof(struct field)))
-#define free_field(p) st_free(p, h_field, sizeof(struct field))
-
struct idf *is_idf;
};
-
-/* allocation definitions of struct idstack_item */
/* ALLOCDEF "idstack_item" */
-extern char *st_alloc();
-extern struct idstack_item *h_idstack_item;
-#define new_idstack_item() ((struct idstack_item *) \
- st_alloc((char **)&h_idstack_item, sizeof(struct idstack_item)))
-#define free_idstack_item(p) st_free(p, h_idstack_item, sizeof(struct idstack_item))
-
struct idf {
struct idf *next;
int id_special; /* special action needed at occurrence */
};
-
-/* allocation definitions of struct idf */
/* ALLOCDEF "idf" */
-extern char *st_alloc();
-extern struct idf *h_idf;
-#define new_idf() ((struct idf *) \
- st_alloc((char **)&h_idf, sizeof(struct idf)))
-#define free_idf(p) st_free(p, h_idf, sizeof(struct idf))
-
extern struct idf *str2idf(), *idf_hashed();
char mc_flag; /* marking this macro */
};
-
-/* allocation definitions of struct macro */
/* ALLOCDEF "macro" */
-extern char *st_alloc();
-extern struct macro *h_macro;
-#define new_macro() ((struct macro *) \
- st_alloc((char **)&h_macro, sizeof(struct macro)))
-#define free_macro(p) st_free(p, h_macro, sizeof(struct macro))
-
/* `token' numbers of keywords of command-line processor
*/
int sl_level;
};
-
-/* allocation definitions of struct stack_level */
/* ALLOCDEF "stack_level" */
-extern char *st_alloc();
-extern struct stack_level *h_stack_level;
-#define new_stack_level() ((struct stack_level *) \
- st_alloc((char **)&h_stack_level, sizeof(struct stack_level)))
-#define free_stack_level(p) st_free(p, h_stack_level, sizeof(struct stack_level))
-
struct stack_entry {
struct stack_entry *next;
struct idf *se_idf;
};
-
-/* allocation definitions of struct stack_entry */
/* ALLOCDEF "stack_entry" */
-extern char *st_alloc();
-extern struct stack_entry *h_stack_entry;
-#define new_stack_entry() ((struct stack_entry *) \
- st_alloc((char **)&h_stack_entry, sizeof(struct stack_entry)))
-#define free_stack_entry(p) st_free(p, h_stack_entry, sizeof(struct stack_entry))
-
extern struct stack_level *local_level;
extern struct stack_level *stack_level_of();
extern char *st_alloc();
-
-/* allocation definitions of struct sdef */
/* ALLOCDEF "sdef" */
-extern char *st_alloc();
-extern struct sdef *h_sdef;
-#define new_sdef() ((struct sdef *) \
- st_alloc((char **)&h_sdef, sizeof(struct sdef)))
-#define free_sdef(p) st_free(p, h_sdef, sizeof(struct sdef))
-
struct tag { /* for struct-, union- and enum tags */
struct tag *next;
};
-
-/* allocation definitions of struct tag */
/* ALLOCDEF "tag" */
-extern char *st_alloc();
-extern struct tag *h_tag;
-#define new_tag() ((struct tag *) \
- st_alloc((char **)&h_tag, sizeof(struct tag)))
-#define free_tag(p) st_free(p, h_tag, sizeof(struct tag))
-
struct sdef *idf2sdef();
struct case_entry *sh_entries;
};
-
-/* allocation definitions of struct switch_hdr */
/* ALLOCDEF "switch_hdr" */
-extern char *st_alloc();
-extern struct switch_hdr *h_switch_hdr;
-#define new_switch_hdr() ((struct switch_hdr *) \
- st_alloc((char **)&h_switch_hdr, sizeof(struct switch_hdr)))
-#define free_switch_hdr(p) st_free(p, h_switch_hdr, sizeof(struct switch_hdr))
-
struct case_entry {
struct case_entry *next;
arith ce_value;
};
-
-/* allocation definitions of struct case_entry */
/* ALLOCDEF "case_entry" */
-extern char *st_alloc();
-extern struct case_entry *h_case_entry;
-#define new_case_entry() ((struct case_entry *) \
- st_alloc((char **)&h_case_entry, sizeof(struct case_entry)))
-#define free_case_entry(p) st_free(p, h_case_entry, sizeof(struct case_entry))
-
extern arith size_of_type(), align();
-
-/* allocation definitions of struct type */
/* ALLOCDEF "type" */
-extern char *st_alloc();
-extern struct type *h_type;
-#define new_type() ((struct type *) \
- st_alloc((char **)&h_type, sizeof(struct type)))
-#define free_type(p) st_free(p, h_type, sizeof(struct type))
-