Quoting "Joseph S. Myers" <jos...@codesourcery.com>:
I do not see any copyright issues with the hook names and argument types and names. With the bodies of the descriptions of the semantics of the hooks (in .texi or comments), yes, but not with the names and types of hooks and their arguments.
If that is actually the case, then there is a bit more code that I could consolidate between the struct targetm definition and its documentation. For some hooks, however, we'd have to decide on a single name for some arguments first: declare_constant_name expression: exp or expr? print_operand, print_operand_address FILE *: file or stream? print_operand_address address: addr or x? dfa_new_cycle dump file: dump_file or dump? last_sched_cycle or last_clock? cur_cycle or clock? resolve_overloaded_builtin parameter list: params or arglist? fold_builtin nargs or n_args? builtin_reciprocal tm_fn or md_fn? memory_move_cost register class: rclass or class