http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54945
--- Comment #9 from Marek Polacek <mpolacek at gcc dot gnu.org> 2012-10-18 15:42:22 UTC --- Hmm, the fix isn't enough: int main (void) { int x = 30; int y = 31; int *p = &x + 1; int *q = &y; return p == q; } $ gcc -O2 pr54945.c && ./a.out ; echo $? 0