On Tue, 2020-06-02 at 15:00 +0100, Richard Sandiford wrote:
> This patch uses parameter packs to define insn_gen_fn::operator().
> I guess in some ways it's C++-ification for its own sake, but it does
> make things simpler and removes the current artificial limit of 16
> arguments.
> 
> Note that the call is still strongly typed: all arguments have to have
> implicit conversions to rtx.  Error messages for bad arguments look
> reasonable.
> 
> I'm sure there are more elegant ways of getting the function type,
> but this version at least fits on one line, so I didn't try too
> hard to find an alternative.
> 
> Tested on aarch64-linux-gnu and x86_64-linux-gnu.  OK to install?
> 
> Richard
> 
> 
> 2020-06-02  Richard Sandiford  <richard.sandif...@arm.com>
> 
> gcc/
>       * recog.h (insn_gen_fn::f0, insn_gen_fn::f1, insn_gen_fn::f2)
>       (insn_gen_fn::f3, insn_gen_fn::f4, insn_gen_fn::f5, insn_gen_fn::f6)
>       (insn_gen_fn::f7, insn_gen_fn::f8, insn_gen_fn::f9, insn_gen_fn::f10)
>       (insn_gen_fn::f11, insn_gen_fn::f12, insn_gen_fn::f13)
>       (insn_gen_fn::f14, insn_gen_fn::f15, insn_gen_fn::f16): Delete.
>       (insn_gen_fn::operator()): Replace overloaded definitions with
>       a parameter-pack version.
OK.

Jeff
> 

Reply via email to