Hi, I have a question about cp/pt.c:type_unification_real.
What does "args" represent? The comment above type_unification_real says "most parms like fn_type_unification." According to fn_type_unification, "args" is supposed to point to function arguments. In fact, when I backtraced a call to type_unification_real, I traced "args" to the second argument of build_new_function_call, which indicates that "args" are function arguments. However, "args" appears to be a parameter list, too. For example, type_unification_real contains code like: parms = xparms; args = xargs; while (parms && parms != void_list_node && args && args != void_list_node) Note that "args" is compared against void_list_node. As another example, also in type_unification_real, we have if (args && args != void_list_node && parms == void_list_node) return 1; Note again that "args" is compared to void_list_node. Even more confusing is: arg = TREE_VALUE (args); : : if (!TYPE_P (arg)) Can a function argument be a type? Clarification would be greatly apprecaited. Thanks, Kazu Hirata