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;
             }

Reply via email to