Commit 329a89d3 by Jason Merrill Committed by Jason Merrill

PR c++/84429 - ICE capturing VLA.

	* lambda.c (build_capture_proxy): Handle reference refs.

From-SVN: r257836
parent c74c263c
2018-02-19 Jason Merrill <jason@redhat.com>
PR c++/84429 - ICE capturing VLA.
* lambda.c (build_capture_proxy): Handle reference refs.
2018-02-19 Jakub Jelinek <jakub@redhat.com>
PR c++/84448
......
......@@ -451,11 +451,12 @@ build_capture_proxy (tree member, tree init)
{
if (PACK_EXPANSION_P (init))
init = PACK_EXPANSION_PATTERN (init);
if (INDIRECT_REF_P (init))
init = TREE_OPERAND (init, 0);
STRIP_NOPS (init);
}
if (INDIRECT_REF_P (init))
init = TREE_OPERAND (init, 0);
STRIP_NOPS (init);
gcc_assert (VAR_P (init) || TREE_CODE (init) == PARM_DECL);
while (is_normal_capture_proxy (init))
init = DECL_CAPTURED_VARIABLE (init);
......
// PR c++/84429
// { dg-do compile { target c++11 } }
// { dg-options "" }
void foo(int i)
{
char x[i];
[&]{ [&]{ return x; }; };
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment