This is the mail archive of the gcc-patches@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]

Re: [PATCH] Giant concepts patch


On Sun, Jul 10, 2016 at 11:20 AM, Andrew Sutton
<andrew.n.sutton@gmail.com> wrote:
> I did find another bug building cmcstl2, hence the attached
> disable-opt patch. For some reason, the memoization of concept
> satisfaction is giving momoized results for concept + args that have
> not yet been evaluated. This is exactly the same problem that made me
> disable the lookup/memoize_constraint_sat optimizations. Somehow I'm
> getting the same hash code for different arguments, and they also
> happen to compare equal.

This bug turned out to be e.g. substituting int into "requires
C<typename T::foo>", which fails because int has no foo member, and
therefore deciding that C<int> is false.

After I fixed that, I tried turning on the constraint memos, which
didn't seem to break anything.

I've pushed to the jason/concepts-rewrite branch again.  See any
reason I shouldn't merge to trunk now?

Jason


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