When I find a glitchy site in Firefox, I try chromium. Usually turns out it's glitchy there as well.
0x7ffd0b57ebd0 0x7ffd0b57ebd8 0
OK, so gcc reordered a & b; I'll fix this by chaning the initialisation of p and q to: int *p = &a + 1;
int *q = &b;
But when I now run the example, I get: gcc -o c c.c && ./c
0x7ffe55eb0aa4 0x7ffe55eb0aa4 1
gcc -O -o c c.c && ./c
0x7ffcfeffd914 0x7ffcfeffd914 0
So, p==q only evaluates to 1 if optimisation is enabled. $ gcc --version
gcc (Ubuntu 7.3.0-16ubuntu3) 7.3.0