PR c++/84160 - ICE with nested variadic capture.
authorJason Merrill <jason@redhat.com>
Fri, 2 Feb 2018 02:07:09 +0000 (21:07 -0500)
committerJason Merrill <jason@gcc.gnu.org>
Fri, 2 Feb 2018 02:07:09 +0000 (21:07 -0500)
commitfe23b12a23e357103a40fda08df33f3547f112e6
tree1eeccbcc99f8325a3a6b6c4e7886433ffdff17e1
parent60a57222fe2166519b54641766bccab92fa15606
PR c++/84160 - ICE with nested variadic capture.

* lambda.c (is_capture_proxy_with_ref): New.
(insert_capture_proxy): Don't set DECL_CAPTURED_VARIABLE from a
COMPONENT_REF.
* expr.c (mark_use): Use is_capture_proxy_with_ref.
* constexpr.c (potential_constant_expression_1): Likewise.
* semantics.c (process_outer_var_ref): Likewise.

From-SVN: r257325
gcc/cp/ChangeLog
gcc/cp/constexpr.c
gcc/cp/cp-tree.h
gcc/cp/expr.c
gcc/cp/lambda.c
gcc/cp/semantics.c
gcc/testsuite/g++.dg/cpp0x/lambda/lambda-variadic6.C [new file with mode: 0644]