------- Comment #5 from rguenth at gcc dot gnu dot org 2008-04-07 08:51 ------- Only if you extend refs_may_alias_p, as for pointers you have
p_2 = p_1 + 1; *p_2 *p_1 and it doesn't follow def-use chains to see the pointer-plus to disambiguate both pointer de-references. With arrays you see a[0] a[1] which it handles fine. It also should handle (*p_2)[0] (*p_2)[1] fine (if you convert p_! to (int *)[] first). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29751