diff options
author | Zack Weinberg <zack@gcc.gnu.org> | 2003-10-15 21:57:21 +0000 |
---|---|---|
committer | Zack Weinberg <zack@gcc.gnu.org> | 2003-10-15 21:57:21 +0000 |
commit | b8eaca232b716d78395c3ddacb0484ee6148d141 (patch) | |
tree | 904f83fb53c1f8a9c252a65c246a7ba6a8688cde /gcc/machmode.h | |
parent | 0f229b22bb0f6b0c24e0ef69e3f45368524748e3 (diff) | |
download | gcc-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.h | 7 |
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 */ |