PR c++/84036 - ICE with variadic capture.
Handle variadic capture proxies more like non-variadic. * lambda.c (build_capture_proxy): Remove workaround. * pt.c (find_parameter_packs_r): The proxy is a pack. (instantiate_class_template_1): Remove dead lambda code. (extract_fnparm_pack): Don't make_pack_expansion. (extract_locals_r): Don't strip a pack expansion. (tsubst_pack_expansion): Handle proxy packs. Use PACK_EXPANSION_EXTRA_ARGS less. (tsubst_decl) [FIELD_DECL]: Don't register_specialization. (tsubst_copy) [FIELD_DECL]: Don't retrieve*_specialization. [VAR_DECL]: Handle ARGUMENT_PACK_SELECT. (tsubst_expr) [DECL_EXPR]: Handle proxy packs. (tsubst_copy_and_build) [VAR_DECL]: Handle proxy packs normally. From-SVN: r257575
Showing
Please
register
or
sign in
to comment