Skip to content

Commit e421a1c

Browse files
committed
fixing a lambda ICE
1 parent 0fdd9c9 commit e421a1c

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

gcc/cp/lambda.cc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -464,6 +464,8 @@ build_capture_proxy (tree member, tree init)
464464
init = PACK_EXPANSION_PATTERN (init);
465465
}
466466

467+
init = strip_contract_const_wrapper (init);
468+
467469
if (INDIRECT_REF_P (init))
468470
init = TREE_OPERAND (init, 0);
469471
STRIP_NOPS (init);
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
// check that we do not crash when capturing a constified entity in a contract assertion lambda
2+
// { dg-do compile }
3+
// { dg-options "-std=c++2b -fcontracts -fcontracts-nonattr " }
4+
void f(int i, int j) pre( [il = i, jl = &j](){ return true;} ( ))
5+
{
6+
};

0 commit comments

Comments
 (0)