https://gcc.gnu.org/bugzilla/show_bug.cgi?id=49330
Namniav <namniav at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |namniav at gmail dot com --- Comment #34 from Namniav <namniav at gmail dot com> --- I'd like to provide a more subtle example: #include <stdio.h> #include <stdint.h> int main() { int a = -1; int b = -1; uintptr_t ia = (uintptr_t)&a; uintptr_t ib = (uintptr_t)(&b + 1); if (ia == ib) { *(int*)(ia == ib ? ia : ib) = 42; printf("%d\n", a); } return 0; } It prints -1 compiled by gcc -O1 (https://godbolt.org/z/ecf4Kjc16).