https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106247
Daniel Richard G. <skunk at iskunk dot org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |skunk at iskunk dot org --- Comment #4 from Daniel Richard G. <skunk at iskunk dot org> --- I am seeing what may be the same issue in a different context. This is occurring in a proprietary C source codebase newly being compiled with 12.1.0, and unfortunately the problem goes away if I attempt to cut it down to a minimal test case. Nevertheless, the actual issue is quite simple, and IMO clear-cut. (some names edited to protect the guilty) In file included from /usr/include/string.h:375, from foo.c:7: In function 'function3', inlined from 'function2' at foo.c:1206:5, inlined from 'function1' at foo.c:2840:7: foo.c:415:3: error: array subscript 'union <anonymous>[1]' is partly outside array bounds of 'unsigned char[5]' [-Werror=array-bounds] 415 | memset(constraints,0,sizeof(char)*NB_CONSTRAINTS); | ^~~~~~ foo.c: In function 'function1': foo.c:380:17: note: at offset 4 into object 'constraints' of size 5 380 | unsigned char constraints[NB_CONSTRAINTS]; | ^~~~~~~~ cc1: all warnings being treated as errors Curiously enough, I only see this issue in an i686 build. I don't get it on x86-64. (Dropping -march=i686 does not help.)