[Bug c++/78495] [7 regression][new inheriting ctors] invisible-ref parm has address taken

2018-01-26 Thread nathan at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78495

--- Comment #6 from Nathan Sidwell  ---
Author: nathan
Date: Fri Jan 26 13:48:37 2018
New Revision: 257089

URL: https://gcc.gnu.org/viewcvs?rev=257089=gcc=rev
Log:
[C++/82878] backport fix

https://gcc.gnu.org/ml/gcc-patches/2018-01/msg02170.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.

Added:
branches/gcc-7-branch/gcc/testsuite/g++.dg/cpp0x/pr82878.C
Modified:
branches/gcc-7-branch/gcc/cp/ChangeLog
branches/gcc-7-branch/gcc/cp/call.c
branches/gcc-7-branch/gcc/cp/cp-gimplify.c
branches/gcc-7-branch/gcc/cp/lambda.c
branches/gcc-7-branch/gcc/testsuite/ChangeLog
branches/gcc-7-branch/gcc/testsuite/g++.dg/cpp1z/inh-ctor38.C

[Bug c++/78495] [7 regression][new inheriting ctors] invisible-ref parm has address taken

2017-11-20 Thread nathan at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78495

--- Comment #5 from Nathan Sidwell  ---
Author: nathan
Date: Mon Nov 20 14:39:00 2017
New Revision: 254958

URL: https://gcc.gnu.org/viewcvs?rev=254958=gcc=rev
Log:
[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.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/pr82878.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/call.c
trunk/gcc/cp/cp-gimplify.c
trunk/gcc/cp/lambda.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-switch.C
trunk/gcc/testsuite/g++.dg/cpp1z/inh-ctor38.C

[Bug c++/78495] [7 regression][new inheriting ctors] invisible-ref parm has address taken

2017-01-20 Thread nathan at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78495

Nathan Sidwell  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #4 from Nathan Sidwell  ---
Fixed r244728.

[Bug c++/78495] [7 regression][new inheriting ctors] invisible-ref parm has address taken

2017-01-20 Thread nathan at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78495

--- Comment #3 from Nathan Sidwell  ---
Author: nathan
Date: Fri Jan 20 17:53:44 2017
New Revision: 244728

URL: https://gcc.gnu.org/viewcvs?rev=244728=gcc=rev
Log:
PR c++/78495 - wrong code inherited ctor and invisi-ref parm
* cp-gimplify.c (cp_generize_r): Don't skip thunks.

PR c++/79495
* g++.dg/cpp1z/inh-ctor38.C: New.

Added:
trunk/gcc/testsuite/g++.dg/cpp1z/inh-ctor38.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/cp-gimplify.c
trunk/gcc/testsuite/ChangeLog