This patch changes those functions to expect void_type_node in
TREE_VALUE of the last TREE_LIST node. This way, it is OK for one of
my conversion patches to introduce TYPE_ARG_TYPES that ends with a
TREE_LIST node (!= void_list_node) whose TREE_VALUE is still
void_type_node.
Why do you want to do that? The point of void_list_node is that it
reduces waste. Almost every function will have a parameter type list
that ends with void, so it is good to share the node.
(Of course, a better representation would just be to have a varargs_p
bit on the FUNCTION_TYPE; it's goofy to have a void type at the end of
the list. But, that would be another major cleanup, so we don't want to
do it now.)