http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60033

Adam Butcher <abutcher at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jason at gcc dot gnu.org

--- Comment #4 from Adam Butcher <abutcher at gcc dot gnu.org> ---
I think I have a fix for this but I need a sanity check.  Does this adjustment
in 'retrieve_specialization' look to be along the right lines Jason?  Certainly
the programs attached to this issue compile and run as expected; haven't gone
any further than that though.

  /* When retrieving a capture pack from a generic lambda, remove the lambda
     call op's own template argument list from ARGS.  Only the template
     arguments active for the closure type should be used to retrieve the pack
     specialization.  */
  if (TREE_CODE (tmpl) == FIELD_DECL
      && LAMBDA_FUNCTION_P (current_function_decl)
      && DECL_TEMPLATE_INFO (current_function_decl))
    args = strip_innermost_template_args (args, 1);

Reply via email to