[PR c++/82878] pass-by-invisiref in lambda
authorNathan Sidwell <nathan@acm.org>
Mon, 20 Nov 2017 14:39:00 +0000 (14:39 +0000)
committerNathan Sidwell <nathan@gcc.gnu.org>
Mon, 20 Nov 2017 14:39:00 +0000 (14:39 +0000)
commit6aa80414a003b2cd9af254e4701838072a1f17dd
treeba5912c09897e80e79f8a222c41d3dfae9c08ccd
parent7b7b60c83047db2e4bde9e7f40ce3f1738694789
[PR c++/82878] pass-by-invisiref in lambda

https://gcc.gnu.org/ml/gcc-patches/2017-11/msg01115.html
PR c++/82878
PR c++/78495
* call.c (build_call_a): Don't set CALL_FROM_THUNK_P for inherited
ctor.
* cp-gimplify.c (cp_genericize_r): Restore THUNK dereference
inhibibition check removed in previous c++/78495 change.

PR c++/82878
* g++.dg/cpp0x/pr82878.C: New.
* g++.dg/cpp1z/inh-ctor38.C: Check moves too.

From-SVN: r254958
gcc/cp/ChangeLog
gcc/cp/call.c
gcc/cp/cp-gimplify.c
gcc/cp/lambda.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/cpp0x/lambda/lambda-switch.C
gcc/testsuite/g++.dg/cpp0x/pr82878.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp1z/inh-ctor38.C