This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/66962] [concepts] overloaded function causing memory blow-up and ICE
- From: "jason at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 23 Jul 2015 23:17:35 +0000
- Subject: [Bug c++/66962] [concepts] overloaded function causing memory blow-up and ICE
- Auto-submitted: auto-generated
- References: <bug-66962-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66962
Jason Merrill <jason at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2015-07-23
Ever confirmed|0 |1
--- Comment #8 from Jason Merrill <jason at gcc dot gnu.org> ---
(In reply to Casey Carter from comment #5)
> (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
> > <initializer_list>
>
> This is because the definition of std::initializer_list in the preprocessed
> source doesn't agree with your compiler's - or mine - notion of what
> std::initializer_list should be.
The issue is just 32-bit vs 64-bit size_t. I'm able to reproduce the bug with
the original testcase using the -m32 flag.
The testcase in comment #7 has different requirements on iter_swap2, so it
doesn't run into this bug. It was crashing because my recent patch needed an
additional NULL check, which I have now added.
The problem in Eric's testcases seems to be that decompose_assumptions is
consuming an extreme amount of memory, I think because left_disjunction causes
the process to have quadratic complexity. So I think we need an algorithmic
change here. Andrew?