https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118454
Patrick Palka <ppalka at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |ppalka at gcc dot gnu.org --- Comment #9 from Patrick Palka <ppalka at gcc dot gnu.org> --- Seems the early exit in coerce_template_parms when coercing a pack arg and non-pack parm needs to strip typedefs, like the normal code path does. Candidate fix: diff --git a/gcc/cp/pt.cc b/gcc/cp/pt.cc index 537e4c4a494..8cdbf7f65ac 100644 --- a/gcc/cp/pt.cc +++ b/gcc/cp/pt.cc @@ -9362,7 +9362,7 @@ coerce_template_parms (tree parms, /* We don't know how many args we have yet, just use the unconverted (but unpacked) ones for now. */ ggc_free (new_inner_args); - new_inner_args = inner_args; + new_inner_args = strip_typedefs (inner_args); arg_idx = nargs; break; }