[Bug c++/81574] ICE on valid C++14 code: in canonicalize_component_ref, at gimplify.c:2481

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

Nathan Sidwell  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #5 from Nathan Sidwell  ---
Resolved r254768.

[Bug c++/81574] ICE on valid C++14 code: in canonicalize_component_ref, at gimplify.c:2481

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

--- Comment #4 from Nathan Sidwell  ---
Author: nathan
Date: Wed Nov 15 13:18:09 2017
New Revision: 254768

URL: https://gcc.gnu.org/viewcvs?rev=254768=gcc=rev
Log:
[PR c++/81574] lambda capture of function reference

https://gcc.gnu.org/ml/gcc-patches/2017-11/msg01200.html
PR c++/81574
* lambda.c (lambda_capture_field_type): Function references are
always catured by reference.

PR c++/81574
* g++.dg/cpp1y/pr81574.C: New.

Added:
trunk/gcc/testsuite/g++.dg/cpp1y/pr81574.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/lambda.c
trunk/gcc/testsuite/ChangeLog

[Bug c++/81574] ICE on valid C++14 code: in canonicalize_component_ref, at gimplify.c:2481

2017-07-27 Thread nathan at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81574

Nathan Sidwell  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |nathan at gcc dot 
gnu.org

[Bug c++/81574] ICE on valid C++14 code: in canonicalize_component_ref, at gimplify.c:2481

2017-07-27 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81574

--- Comment #3 from Jakub Jelinek  ---
Bet the initializer isn't through function-to-pointer conversion
(decay_conversion or whatever else invokes it), but no idea where that should
be done etc.

[Bug c++/81574] ICE on valid C++14 code: in canonicalize_component_ref, at gimplify.c:2481

2017-07-27 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81574

Jakub Jelinek  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org,
   ||nathan at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek  ---
r244055 still rejects this:
error: cannot bind non-const lvalue reference of type ‘void (*&)()’ to an
rvalue of type ‘void (*)()’
And r244056 started to ICE.

[Bug c++/81574] ICE on valid C++14 code: in canonicalize_component_ref, at gimplify.c:2481

2017-07-27 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81574

Richard Biener  changed:

   What|Removed |Added

   Keywords||ice-checking,
   ||ice-on-valid-code,
   ||rejects-valid
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-07-27
 Ever confirmed|0   |1
  Known to fail||7.1.1, 8.0

--- Comment #1 from Richard Biener  ---
Confirmed.