https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83485
--- Comment #1 from Arnd Bergmann <arnd at linaro dot org> --- Reduced test case: struct uart_port { char quirks; }; struct uart_8250_port { struct uart_port port; int em485; } b[1]; int a, c; void fn1(void) { struct uart_8250_port *d = &b[c]; d->port.quirks |= a ? 1 : 0; }