https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89074
--- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> --- At least when not constant evaluating that, a + 2 can be equal to b + 0 or can be different, shouldn't we reject at least that? It is true that for automatic variables if at least one of the pointers is into a middle of some automatic var and the other is to some other var they can't be equal.