On Tue, Nov 16, 2010 at 10:22:00PM -0500, Joern Rennecke wrote: > Quoting Nathan Froyd <froy...@codesourcery.com>: > >I am admittedly a C++ newbie; the first thing I thought of was: > > > >class gcc::cumulative_args { > > virtual void advance (...) = 0; > > virtual rtx arg (...) = 0; > > virtual rtx incoming_arg (...) { return this->arg (...); }; > > virtual int arg_partial_bytes (...) = 0; > > // ...and so on for many of the hooks that take CUMULATIVE_ARGS * > > // possibly with default implementations instead of pure virtual > > // functions. > >}; > > Trying to put a target-derived object of that into struct rtl_data would > be nonsentical. You might store a pointer, of course.
Yes, of course. I thought that might have been clear from context. > Does that mean you acknowledge that we shouldn't have CUMULATIVE_ARGS > taking hooks in the global target vector? Maybe? I think the methods discussed in this thread would be better for when we do move to C++. I don't think your original proposal or anything that sacrifices the type-safety of the current interface is the way forward. -Nathan