https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101854
Bug ID: 101854 Summary: Invalid warning -Wstringop-overflow wrong argument Product: gcc Version: 11.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: nightstrike at gmail dot com Target Milestone: --- void f() { struct Weird { float a; // Comment out any member float b; // to silence the warning float c; float d; float e; }; struct Weird g(float const Q[2], float const null[6][8]) { return (struct Weird){0}; } float const q[2]; struct Weird ss = g(q, (void *)0); } $ gcc -c a.c a.c: In function 'f': a.c:14:27: warning: 'g' accessing 192 bytes in a region of size 8 [-Wstringop-overflow=] 14 | struct Weird ss = g(q, (void *)0); | ^~~~~~~~~~~~~~~ a.c:14:27: note: referencing argument 2 of type 'const float (*)[8]' a.c:9:22: note: in a call to function 'g' 9 | struct Weird g(float const Q[2], float const null[6][8]) { | ^ $ gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/tmp/bin/../libexec/gcc/x86_64-pc-linux-gnu/11.2.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: ../src/gcc-11.2.0/configure --disable-nls --disable-multilib --enable-languages=all --prefix=/tmp Thread model: posix Supported LTO compression algorithms: zlib gcc version 11.2.0 (GCC)