Trevor Saunders <tbsau...@tbsaunde.org> writes: > On Mon, Jul 27, 2015 at 09:05:08PM +0100, Richard Sandiford wrote: >> Alternatively we could have a new target_globals structure that is >> initialised with the result of calling the hook. If we do that though, >> it might make sense to consolidate the hooks rather than have one for >> every value. E.g. having one function for UNITS_PER_WORD, one for >> POINTER_SIZE, one for Pmode, etc., would lead to some very verbose >> target code. > > so something like > > struct target_types > { > unsigned long pointer_size; > ... > }; > > const target_types &targetm.get_type_data () > > ? that seems pretty reasonable, and I wouldn't expect too many ordering > issues, but who knows. Its too bad nobody has taken on the big job of > turning targetm into a class so we can hope for some devirt help from > the compiler.
I was thinking more: void targetm.get_type_data (target_types *); The caller could then initialise or post-process the defaults. The target_types would eventually end up in some target_globals structure. Thanks, Richard