diff options
author | Oleg Endo <olegendo@gcc.gnu.org> | 2013-08-05 22:09:45 +0000 |
---|---|---|
committer | Oleg Endo <olegendo@gcc.gnu.org> | 2013-08-05 22:09:45 +0000 |
commit | eb923e545c2845361581db97358058397586f894 (patch) | |
tree | c85e912deef62406755e586c518c15efa9224549 /gcc/expr.c | |
parent | fd9b0f320e88e8d71831b62867627295b77d26b6 (diff) | |
download | gcc-eb923e545c2845361581db97358058397586f894.tar.gz |
re PR other/12081 (Gcc can't be compiled with -mregparm=3)
PR other/12081
* recog.h (rtx (*insn_gen_fn) (rtx, ...)): Replace typedef with new
class insn_gen_fn.
* expr.c (move_by_pieces_1, store_by_pieces_2): Replace argument
rtx (*) (rtx, ...) with insn_gen_fn.
* genoutput.c (output_insn_data): Cast gen_? function pointers to
insn_gen_fn::stored_funcptr. Add initializer braces.
From-SVN: r201513
Diffstat (limited to 'gcc/expr.c')
-rw-r--r-- | gcc/expr.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/expr.c b/gcc/expr.c index 923f59bffda..bbe0401291b 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -119,7 +119,7 @@ struct store_by_pieces_d int reverse; }; -static void move_by_pieces_1 (rtx (*) (rtx, ...), enum machine_mode, +static void move_by_pieces_1 (insn_gen_fn, machine_mode, struct move_by_pieces_d *); static bool block_move_libcall_safe_for_call_parm (void); static bool emit_block_move_via_movmem (rtx, rtx, rtx, unsigned, unsigned, HOST_WIDE_INT); @@ -128,7 +128,7 @@ static void emit_block_move_via_loop (rtx, rtx, rtx, unsigned); static rtx clear_by_pieces_1 (void *, HOST_WIDE_INT, enum machine_mode); static void clear_by_pieces (rtx, unsigned HOST_WIDE_INT, unsigned int); static void store_by_pieces_1 (struct store_by_pieces_d *, unsigned int); -static void store_by_pieces_2 (rtx (*) (rtx, ...), enum machine_mode, +static void store_by_pieces_2 (insn_gen_fn, machine_mode, struct store_by_pieces_d *); static tree clear_storage_libcall_fn (int); static rtx compress_float_constant (rtx, rtx); @@ -1043,7 +1043,7 @@ move_by_pieces_ninsns (unsigned HOST_WIDE_INT l, unsigned int align, to make a move insn for that mode. DATA has all the other info. */ static void -move_by_pieces_1 (rtx (*genfun) (rtx, ...), enum machine_mode mode, +move_by_pieces_1 (insn_gen_fn genfun, machine_mode mode, struct move_by_pieces_d *data) { unsigned int size = GET_MODE_SIZE (mode); @@ -2657,7 +2657,7 @@ store_by_pieces_1 (struct store_by_pieces_d *data ATTRIBUTE_UNUSED, to make a move insn for that mode. DATA has all the other info. */ static void -store_by_pieces_2 (rtx (*genfun) (rtx, ...), enum machine_mode mode, +store_by_pieces_2 (insn_gen_fn genfun, machine_mode mode, struct store_by_pieces_d *data) { unsigned int size = GET_MODE_SIZE (mode); |