[Bug c++/60033] [c++1y] ICE in retrieve_specialization while compiling recursive generic lambda

2014-03-08 Thread abutcher at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60033 Adam Butcher changed: What|Removed |Added Status|NEW |RESOLVED Resolution|---

[Bug c++/60033] [c++1y] ICE in retrieve_specialization while compiling recursive generic lambda

2014-03-08 Thread abutcher at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60033 --- Comment #8 from Adam Butcher --- Author: abutcher Date: Sat Mar 8 09:33:12 2014 New Revision: 208427 URL: http://gcc.gnu.org/viewcvs?rev=208427&root=gcc&view=rev Log: Fix PR c++/60033 PR c++/60033 * pt.c (tsubst_copy): When retrievi

[Bug c++/60033] [c++1y] ICE in retrieve_specialization while compiling recursive generic lambda

2014-03-02 Thread abutcher at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60033 --- Comment #7 from Adam Butcher --- (In reply to Adam Butcher from comment #6) > return [&] (int v) { > return f(ts...); > }; Should have been: return [&] (auto v) { return f(ts...); }; The 'int' version works as expected.

[Bug c++/60033] [c++1y] ICE in retrieve_specialization while compiling recursive generic lambda

2014-03-02 Thread abutcher at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60033 --- Comment #6 from Adam Butcher --- A further reduced testcase: // PR c++/60033 // { dg-options -std=c++1y } template auto f(T&&... ts) { return sizeof...(ts); } template auto g(T&&... ts) { return [&] (int v) { return f(ts...); };