Thanks for doing this. Kamlesh Kumar via Gcc-patches <gcc-patches@gcc.gnu.org> writes: > diff --git a/gcc/rtl.h b/gcc/rtl.h > index 0872cc4..c023ff0 100644 > --- a/gcc/rtl.h > +++ b/gcc/rtl.h > @@ -2238,6 +2238,18 @@ struct address_info { > enum rtx_code base_outer_code; > }; > > +/* This is used for passing args in emit_library_* functions */ > +typedef struct libcall_arg {
There's not really any need for a typedef here. We should just use “libcall_arg” directly. > + rtx value; > + machine_mode mode; > + bool unsigned_p; > + libcall_arg (rtx v, machine_mode m, bool u) { > + value = v; > + mode = m; > + unsigned_p = u; > + } Please use member initialisation for the fields instead. Now that we're C++11, the constructor might as well be constexpr. Thanks, Richard > +} libcall_arg_t; > + > /* This is used to bundle an rtx and a mode together so that the pair > can be used with the wi:: routines. If we ever put modes into rtx > integer constants, this should go away and then just pass an rtx in. */