[Bug c++/66962] [concepts] overloaded function causing memory blow-up and ICE

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

[Bug c++/66962] [concepts] overloaded function causing memory blow-up and ICE

2015-08-04 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66962 --- Comment #18 from Jason Merrill --- Author: jason Date: Tue Aug 4 15:38:29 2015 New Revision: 226583 URL: https://gcc.gnu.org/viewcvs?rev=226583&root=gcc&view=rev Log: PR c++/66962 * logic.cc (term_list::insert): Avoid adding

[Bug c++/66962] [concepts] overloaded function causing memory blow-up and ICE

2015-08-04 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66962 --- Comment #17 from Jason Merrill --- (In reply to Andrew Sutton from comment #14) > Created attachment 36054 [details] > > There is still complexity induced by the use of disjunctions. This manages > it a little better. It could be further imp

[Bug c++/66962] [concepts] overloaded function causing memory blow-up and ICE

2015-07-28 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66962 --- Comment #16 from Jason Merrill --- (In reply to Jason Merrill from comment #15) > So, converting A || B to !(!A && !B) will avoid the explosion at the cost of > limiting subsumption. Or even !!(A || B).

[Bug c++/66962] [concepts] overloaded function causing memory blow-up and ICE

2015-07-28 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66962 --- Comment #15 from Jason Merrill --- (In reply to Eric Niebler from comment #9) > Jason, is there anything I can do in my code to avoid the quadratic > explosion while we wait for Andrew to fix the bug? In concepts, !(A && B) is not equivalent

[Bug c++/66962] [concepts] overloaded function causing memory blow-up and ICE

2015-07-25 Thread andrew.n.sutton at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66962 --- Comment #14 from Andrew Sutton --- Created attachment 36054 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36054&action=edit Optimize constraint decomposition by contraction The problem isn't strictly related to decomposition -- it's n

[Bug c++/66962] [concepts] overloaded function causing memory blow-up and ICE

2015-07-24 Thread andrew.n.sutton at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66962 --- Comment #13 from Andrew Sutton --- There are a couple of other problems in the minimized example (concept int shows up a couple of times, there's a variable template whose initializer is a requires expression). I doubt those contribute to the

[Bug c++/66962] [concepts] overloaded function causing memory blow-up and ICE

2015-07-24 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66962 --- Comment #12 from Markus Trippelsdorf --- This paper claims O(e log d) for size e and alternation depth d: http://www.win.tue.nl/~jfg/articles/CSR-04-13.pdf But I'm not sure if it is applicable.

[Bug c++/66962] [concepts] overloaded function causing memory blow-up and ICE

2015-07-24 Thread eric.niebler at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66962 --- Comment #11 from Eric Niebler --- Removing the disjunction in the Constructible concept causes memory usage and compile time to drop to zero. The word from Andrew is that this is simply a quadratic algorithm. It is unknown whether a non-quadr

[Bug c++/66962] [concepts] overloaded function causing memory blow-up and ICE

2015-07-24 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66962 --- Comment #10 from Markus Trippelsdorf --- Here is a somewhat reduced testcase: markus@x4 tmp % cat foo.ii namespace std { template struct remove_cv; template struct is_reference; template void declval(); template struct is_constructible;

[Bug c++/66962] [concepts] overloaded function causing memory blow-up and ICE

2015-07-23 Thread eric.niebler at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66962 --- Comment #9 from Eric Niebler --- Jason, is there anything I can do in my code to avoid the quadratic explosion while we wait for Andrew to fix the bug?

[Bug c++/66962] [concepts] overloaded function causing memory blow-up and ICE

2015-07-23 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66962 Jason Merrill changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed|

[Bug c++/66962] [concepts] overloaded function causing memory blow-up and ICE

2015-07-23 Thread Casey at Carter dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66962 --- Comment #7 from Casey Carter --- Created attachment 36044 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36044&action=edit Manually flattened test case Doesn't include the contents of any system headers.

[Bug c++/66962] [concepts] overloaded function causing memory blow-up and ICE

2015-07-23 Thread eric.niebler at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66962 Eric Niebler changed: What|Removed |Added Attachment #36028|0 |1 is obsolete|

[Bug c++/66962] [concepts] overloaded function causing memory blow-up and ICE

2015-07-23 Thread Casey at Carter dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66962 --- Comment #5 from Casey Carter --- (In reply to Markus Trippelsdorf from comment #2) > /usr/local/gcc-concepts/include/c++/6.0.0/initializer_list:47:11: fatal > error: definition of std::initializer_list does not match #include > This is beca

[Bug c++/66962] [concepts] overloaded function causing memory blow-up and ICE

2015-07-23 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66962 --- Comment #4 from Markus Trippelsdorf --- (In reply to Eric Niebler from comment #3) > I can't make sense of that error, or understand why you get that and I > don't. You tried the command line I gave above, with the latest concept-gcc > built

[Bug c++/66962] [concepts] overloaded function causing memory blow-up and ICE

2015-07-23 Thread eric.niebler at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66962 --- Comment #3 from Eric Niebler --- I can't make sense of that error, or understand why you get that and I don't. You tried the command line I gave above, with the latest concept-gcc built from source?

[Bug c++/66962] [concepts] overloaded function causing memory blow-up and ICE

2015-07-23 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66962 Markus Trippelsdorf changed: What|Removed |Added CC||trippels at gcc dot gnu.org --- Co

[Bug c++/66962] [concepts] overloaded function causing memory blow-up and ICE

2015-07-23 Thread eric.niebler at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66962 --- Comment #1 from Eric Niebler --- This is a blocker for STL2.