aboutsummaryrefslogtreecommitdiff
path: root/gcc/machmode.h
diff options
context:
space:
mode:
authorZack Weinberg <zack@gcc.gnu.org>2003-10-15 21:57:21 +0000
committerZack Weinberg <zack@gcc.gnu.org>2003-10-15 21:57:21 +0000
commitb8eaca232b716d78395c3ddacb0484ee6148d141 (patch)
tree904f83fb53c1f8a9c252a65c246a7ba6a8688cde /gcc/machmode.h
parent0f229b22bb0f6b0c24e0ef69e3f45368524748e3 (diff)
downloadgcc-b8eaca232b716d78395c3ddacb0484ee6148d141.zip
gcc-b8eaca232b716d78395c3ddacb0484ee6148d141.tar.gz
gcc-b8eaca232b716d78395c3ddacb0484ee6148d141.tar.bz2
genmodes.c: Include hashtab.h.
* genmodes.c: Include hashtab.h. (modes_by_name, hash_mode, eq_mode, struct mode_adjust) (adj_bytesize, adj_alignment, adj_format, new_adjust) (_ADD_ADJUST, ADJUST_BYTESIZE, ADJUST_ALIGNMENT, ADJUST_FORMAT) (print_maybe_const_decl, emit_mode_adjustments): New. (known_modes): Rename to modes. (find_mode): Kill class argument; look up in hash table. (new_mode): Insert into hash table also. (new_adjust): New. (reset_float_format, make_partial_integer_mode) (make_vector_mode): Tweak error reporting. (reset_float_format): Correct type of fourth argument. (emit_insn_modes_h): Add #defines to help make mode_size, mode_base_align, and real_format_for_mode conditionally const. (emit_mode_size, emit_mode_base_align): Use print_maybe_const_decl. (emit_real_format_for_mode): Likewise, but temporarily disabled. (emit_insn_modes_c): Call emit_mode_adjustments. (main): Initialize modes_by_name. * Makefile.in: Update dependencies. * machmode.def: Document EXPR arguments and new ADJUST_* statements. * machmode.h: Use CONST_MODE_SIZE and CONST_MODE_BASE_ALIGN in declarations of mode_size and mode_base_align. Declare init_adjust_machine_modes. * toplev.c (backend_init): Call init_adjust_machine_modes. From-SVN: r72534
Diffstat (limited to 'gcc/machmode.h')
-rw-r--r--gcc/machmode.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/machmode.h b/gcc/machmode.h
index 04b2de1..c8c63c7 100644
--- a/gcc/machmode.h
+++ b/gcc/machmode.h
@@ -78,7 +78,7 @@ extern const unsigned char mode_class[NUM_MACHINE_MODES];
/* Get the size in bytes of an object of mode MODE. */
-extern const unsigned char mode_size[NUM_MACHINE_MODES];
+extern CONST_MODE_SIZE unsigned char mode_size[NUM_MACHINE_MODES];
#define GET_MODE_SIZE(MODE) mode_size[MODE]
/* Get the size in bytes of the basic parts of an object of mode MODE. */
@@ -139,7 +139,7 @@ extern enum machine_mode get_best_mode (int, int, unsigned int,
/* Determine alignment, 1<=result<=BIGGEST_ALIGNMENT. */
-extern const unsigned char mode_base_align[NUM_MACHINE_MODES];
+extern CONST_MODE_BASE_ALIGN unsigned char mode_base_align[NUM_MACHINE_MODES];
extern unsigned get_mode_alignment (enum machine_mode);
@@ -157,4 +157,7 @@ extern enum machine_mode byte_mode;
extern enum machine_mode word_mode;
extern enum machine_mode ptr_mode;
+/* Target-dependent machine mode initialization - in insn-modes.c. */
+extern void init_adjust_machine_modes (void);
+
#endif /* not HAVE_MACHINE_MODES */