diff options
author | Jason Merrill <jason@redhat.com> | 2011-10-02 17:45:01 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2011-10-02 17:45:01 -0400 |
commit | d6027563413543e1607fdc8752e4c4f238fad350 (patch) | |
tree | b61148189571cf1915a392bca2875a7a41bc9a61 /gcc/expr.c | |
parent | f10eaa2dcc0081c7abbc326b500b84e03f777d05 (diff) | |
download | gcc-d6027563413543e1607fdc8752e4c4f238fad350.zip gcc-d6027563413543e1607fdc8752e4c4f238fad350.tar.gz gcc-d6027563413543e1607fdc8752e4c4f238fad350.tar.bz2 |
re PR c++/35722 ([C++0x] Variadic templates expansion into non-variadic class template)
PR c++/35722
Implement N2555 (expanding pack expansion to fixed parm list)
* pt.c (coerce_template_parms): Allow expanding a pack expansion
to a fixed-length argument list.
(unify_pack_expansion): Handle explicit args properly.
(unify) [TREE_VEC]: Handle pack expansions here.
[TYPE_ARGUMENT_PACK]: Not here.
(tsubst_pack_expansion): Don't try to do partial substitution.
(pack_deducible_p): New.
(fn_type_unification): Use it.
(find_parameter_packs_r): Take the TYPE_MAIN_VARIANT
of a type parameter.
(check_non_deducible_conversion): Split from type_unification_real.
(unify_one_argument): Split from type_unification_real...
(unify_pack_expansion): ...and here. Drop call_args_p parm.
(type_unification_real, unify, more_specialized_fn): Adjust.
From-SVN: r179436
Diffstat (limited to 'gcc/expr.c')
0 files changed, 0 insertions, 0 deletions