This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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?


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]