[Bug c++/94454] ICE 'canonical types differ for identical types'
iains at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Apr 2 18:40:06 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94454
--- Comment #8 from Iain Sandoe <iains at gcc dot gnu.org> ---
(In reply to Nathan Sidwell from comment #6)
> On 4/2/20 12:37 PM, iains at gcc dot gnu.org wrote:
> > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94454
> >
> > --- Comment #5 from Iain Sandoe <iains at gcc dot gnu.org> ---
> > (In reply to Nathan Sidwell from comment #4)
> >> Oh, it is from the template specialization hash table. I suggest making
> >> that very poor to increase collisions:
> > I bootstrapped with this patch, and then built a --disable-bootstrap with the
> > "spec_hasher::hash always returns 0" applied too.
>
> Ok, BTW spec_hasher::hash forwards to hash_tmpl_and_args. They must
> agree, so ...
>
> > Neither made any difference, the entire ranges-v3 suite built without issue.
>
> surprises me.
hum .. both alter the code that's executed to compute the hash - which is the
code that seems to be complaining.
So .. maybe I need to cook up something that computes the hash via the path
that's failing, but then throws it away... still might not exercise the case.
More information about the Gcc-bugs
mailing list