aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/asm.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/asm.h')
-rw-r--r--gcc/config/asm.h81
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