https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94179
--- Comment #1 from Martin Liška <marxin at gcc dot gnu.org> --- A better test-case: struct kgem_bo { int rq; int list; int pinned_batches[]; } a; int b; void fn1() { (struct kgem_bo *)((char *)&a.pinned_batches[b > 4096] - (char *)&((struct kgem_bo *)0)->list); }