We intend to mark synthetic template parameters (coming from use of auto parms), as DECL_VIRTUAL_P. The API of process_template_parm is awkwardly confusing, and we were marking the previous template parm (unless this was the first parm). process_template_parm returns the list of parms, when most (all?) users really want the newly-added final node. That's a bigger change, so let's not do it right now. With this, we correctly mark such synthetic parms DECL_VIRTUAL_P. I fell over this trying to update template lambda mangling. The API of process_template_parm is somewhat awkaward, as it returns the whole list, and we end up doing a lot of tree_last calls, to get to the newly added node. I think all (or nearly all?) uses could be adapted to it returning the newly added list node, but I didn't want to go there right now. nathan -- Nathan Sidwell