https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84184
--- Comment #6 from Eric Botcazou <ebotcazou at gcc dot gnu.org> --- > Could gcc generate warning without much of additional effort (or even better > an error) when it knows it is about to generate broken code? Generating broken code from invalid C is perfectly OK, but we could indeed warn. > For this code I guess the pattern is <symbol> + <negative_literal>. The key is really the misalignment, which forces the bitfield path. Other paths in the compiler handle the negative literal just fine.