https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63851
--- Comment #4 from Francois-Xavier Coudert <fxcoudert at gcc dot gnu.org> ---
(In reply to Martin Liška from comment #2)
> There's a pair of functions 'g' and 'h' that are proved by IPA ICF to be
> equal and thunk is created (darwin does not have alias support).
If you look at the tree dump, h's argument has restrict but not g:
h (struct array7_integer(kind=4) & restrict x)
{
check ((struct array7_integer(kind=4) *) x);
}
g (struct array7_integer(kind=4) & x)
{
check ((struct array7_integer(kind=4) *) x);
}
Shouldn't that disable semantic equality/equivalence?