[Bug c++/69005] [5/6 Regression] infinite(?) recursion in template instantiations

2016-01-12 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69005 --- Comment #7 from Jonathan Wakely --- Author: redi Date: Tue Jan 12 14:54:33 2016 New Revision: 232273 URL: https://gcc.gnu.org/viewcvs?rev=232273=gcc=rev Log: Prevent recursive instantiation in std::function PR libstdc++/69005

[Bug c++/69005] [5/6 Regression] infinite(?) recursion in template instantiations

2016-01-12 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69005 --- Comment #8 from Jonathan Wakely --- Author: redi Date: Tue Jan 12 14:55:00 2016 New Revision: 232274 URL: https://gcc.gnu.org/viewcvs?rev=232274=gcc=rev Log: Prevent recursive instantiation in std::function PR libstdc++/69005

[Bug c++/69005] [5/6 Regression] infinite(?) recursion in template instantiations

2015-12-24 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69005 Jason Merrill changed: What|Removed |Added Status|NEW |RESOLVED Resolution|---

[Bug c++/69005] [5/6 Regression] infinite(?) recursion in template instantiations

2015-12-24 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69005 --- Comment #5 from Jason Merrill --- Author: jason Date: Fri Dec 25 03:24:51 2015 New Revision: 231952 URL: https://gcc.gnu.org/viewcvs?rev=231952=gcc=rev Log: PR c++/69005 * call.c (add_template_candidate_real): Don't try to

[Bug c++/69005] [5/6 Regression] infinite(?) recursion in template instantiations

2015-12-24 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69005 --- Comment #3 from Jonathan Wakely --- Hmm, __and_ is supposed to shortcut, but the way I use it here doesn't take advantage of that because _Invoke is always instantiated even when _NotSelf is false. Replacing is_same<_Invoke<...>, ...> with

[Bug c++/69005] [5/6 Regression] infinite(?) recursion in template instantiations

2015-12-24 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69005 --- Comment #4 from Jonathan Wakely --- I'll try your suggestion first though. In the real code we also use _Callable in the templated assignment operator, where the argument can be deduced as the class type, but that can be done differently

[Bug c++/69005] [5/6 Regression] infinite(?) recursion in template instantiations

2015-12-23 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69005 --- Comment #2 from Jason Merrill --- If we remove the copy constructor declaration or make it defaulted, clang rejects this testcase, also due to excessive recursive instantiation, and GCC starts accepting it. We're definitely into corner

[Bug c++/69005] [5/6 Regression] infinite(?) recursion in template instantiations

2015-12-22 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69005 Jakub Jelinek changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed|