diff options
Diffstat (limited to 'gcc/config/asm.h')
-rw-r--r-- | gcc/config/asm.h | 81 |
1 files changed, 43 insertions, 38 deletions
diff --git a/gcc/config/asm.h b/gcc/config/asm.h index 3c3c2e389b5..19d6fa1abcb 100644 --- a/gcc/config/asm.h +++ b/gcc/config/asm.h @@ -6,35 +6,35 @@ /* We use a small state machine to inform the lexer when to start returning tokens marking the beginning of each asm line. */ -enum cw_asm_states { +enum iasm_states { /* Normal code. */ - cw_asm_none, + iasm_none, /* '{' of asm block seen, decls may appear. */ - cw_asm_decls, + iasm_decls, /* No more decls, in asm block proper, '}' not seen yet. */ - cw_asm_asm + iasm_asm }; /* Nonzero means that CodeWarrior-style inline assembler is to be parsed. */ -extern int flag_cw_asm_blocks; +extern int flag_iasm_blocks; -extern enum cw_asm_states cw_asm_state; -extern int cw_asm_in_decl; -extern int inside_cw_asm_block; -extern int cw_asm_at_bol; -extern int cw_asm_in_operands; -extern const cpp_token *cw_split_next; -void cw_insert_saved_token (void); -extern tree cw_do_id (tree); +extern enum iasm_states iasm_state; +extern bool iasm_in_decl; +extern bool inside_iasm_block; +extern bool iasm_at_bol; +extern int iasm_in_operands; +extern const cpp_token *iasm_split_next; +void iasm_insert_saved_token (void); +extern tree iasm_do_id (tree); /* Maximum number of arguments. */ -#define CW_MAX_ARG 11 +#define IASM_MAX_ARG 11 -#ifndef TARGET_CW_EXTRA_INFO -#define TARGET_CW_EXTRA_INFO +#ifndef TARGET_IASM_EXTRA_INFO +#define TARGET_IASM_EXTRA_INFO #endif -struct cw_md_Extra_info { +struct iasm_md_Extra_info { /* Number of operands to the ASM_expr. Note, this can be different from the number of operands to the instruction, in cases like: @@ -51,30 +51,35 @@ struct cw_md_Extra_info { char *arg_p; bool must_be_reg; bool was_output; - } dat[CW_MAX_ARG]; + } dat[IASM_MAX_ARG]; - TARGET_CW_EXTRA_INFO + bool no_label_map; + + TARGET_IASM_EXTRA_INFO }; -typedef struct cw_md_Extra_info cw_md_extra_info; +typedef struct iasm_md_Extra_info iasm_md_extra_info; -void print_cw_asm_operand (char *buf, tree arg, unsigned argnum, tree *uses, - bool must_be_reg, bool must_not_be_reg, cw_md_extra_info *e); +void iasm_print_operand (char *buf, tree arg, unsigned argnum, tree *uses, + bool must_be_reg, bool must_not_be_reg, iasm_md_extra_info *e); -extern tree cw_asm_stmt (tree, tree, int); -extern tree cw_asm_build_register_offset (tree, tree); -extern tree cw_asm_label (tree, int); +extern tree iasm_stmt (tree, tree, int); +extern tree iasm_build_register_offset (tree, tree); +extern tree iasm_label (tree, int); extern tree prepend_char_identifier (tree, char); -extern void clear_cw_asm_labels (void); -extern tree cw_asm_reg_name (tree); -extern tree cw_asm_entry (tree, tree, tree); -extern int cw_asm_typename_or_reserved (tree); -extern tree cw_asm_c_build_component_ref (tree, tree); -extern tree cw_get_identifier (tree, const char *); -extern tree cw_build_bracket (tree, tree); -extern bool cw_is_prefix (tree); -extern void cw_skip_to_eol (void); -extern void cw_force_constraint (const char *c, cw_md_extra_info *e); -extern tree cw_ptr_conv (tree type, tree exp); -extern void cw_asm_get_register_var (tree var, const char *modifier, char *buf, - unsigned argnum, bool must_be_reg, cw_md_extra_info *e); +extern void iasm_clear_labels (void); +extern tree iasm_reg_name (tree); +extern tree iasm_entry (tree, tree, tree); +extern int iasm_typename_or_reserved (tree); +extern tree iasm_c_build_component_ref (tree, tree); +extern tree iasm_get_identifier (tree, const char *); +extern tree iasm_build_bracket (tree, tree); +extern bool iasm_is_prefix (tree); +extern void iasm_skip_to_eol (void); +extern bool iasm_memory_clobber (const char *); +extern void iasm_force_constraint (const char *c, iasm_md_extra_info *e); +extern tree iasm_ptr_conv (tree type, tree exp); +extern void iasm_get_register_var (tree var, const char *modifier, char *buf, + unsigned argnum, bool must_be_reg, iasm_md_extra_info *e); +extern bool iasm_is_pseudo (const char *); +extern tree iasm_addr (tree); #endif |