On 10/28/2011 06:07 PM, Jason Merrill wrote:
On 10/27/2011 08:22 PM, Paolo Carlini wrote:
I'm trying to figure out where the very different args argument is
coming from.
Earlier than that things are different: in mainline the same args, as
arglist, comes from fixup_template_parm, and earlier we have
fixup_template_parms which creates the arglist itself
Right, this is new. I guess the COMPONENT_REF code needs to be fixed
to handle partial instantiation.
I see. Something I didn't tell you yesterday, is that, in 4_5-branch,
tsubst_template_arg is called like this, by coerce_template_parms:
/* There must be a default arg in this case. */
arg = tsubst_template_arg (TREE_PURPOSE (parm), new_args,
complain, in_decl);
which, what can I say, looks right ;)
By the way, your hint that probably we are also passing a wrong first
argument to qualified_name_lookup_error may be useful for the other
issue, the ice-on-invalid, which I was trying to fix in the parser ;)
Let me test something...
Paolo.