Core DR 904 PR c++/41933
authorJason Merrill <jason@redhat.com>
Sun, 15 Sep 2013 19:34:42 +0000 (15:34 -0400)
committerJason Merrill <jason@gcc.gnu.org>
Sun, 15 Sep 2013 19:34:42 +0000 (15:34 -0400)
commit2993d08a0f9053d6b434f550c489d2cc9af81c46
tree1ea5c1ef411fbda7152061fe7ec9543ea81fc0b7
parent73f4e2d261705d356b2283ae1576e495b74e7992
Core DR 904 PR c++/41933

Core DR 904
PR c++/41933
* parser.c (cp_parser_lambda_introducer): Handle variadic capture.
* lambda.c (add_capture): Handle variadic capture.
(add_default_capture, lambda_capture_field_type): Likewise.
(build_capture_proxy, register_capture_members): Likewise.
* pt.c (register_specialization): Allow FIELD_DECL.
(retrieve_specialization): Likewise.
(find_parameter_packs_r): Handle FIELD_DECL and VAR_DECL.
(tsubst_pack_expansion): Handle FIELD_DECL packs.
(gen_elem_of_pack_expansion_instantiation): Likewise.
(instantiate_class_template_1): Likewise.
(tsubst_decl, tsubst_copy): Likewise.
(tsubst_expr) [DECL_EXPR]: Handle capture proxy packs.
(tsubst_copy_and_build) [VAR_DECL]: Likewise.
* semantics.c (finish_non_static_data_member): Don't try to represent
the type of a COMPOUND_REF of a FIELD_DECL pack.

From-SVN: r202605
gcc/cp/ChangeLog
gcc/cp/lambda.c
gcc/cp/parser.c
gcc/cp/pt.c
gcc/cp/semantics.c
gcc/testsuite/g++.dg/cpp0x/lambda/lambda-variadic2.C [new file with mode: 0644]