https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85175
Bug ID: 85175 Summary: [8 regression] false-positive -Wformat-overflow= warning with gcc-8 -Os Product: gcc Version: 8.0.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: arnd at linaro dot org Target Milestone: --- This snippet from the Linux kernel produces a bogus warning when built with gcc -Os, using a recent snapshot (20180402) A two months older version did not produce the warning, and building with -O2 is also fine. Reduced test case: $ gcc-8.0.1 -Os -Wall -c test.c int of_property_read_u32(int *out_value); int imx_ldb_bind(void) { int i; for (i = 0; i < 4; i++) { char clkname[16]; __builtin_sprintf(clkname, "di%d_sel", i); } return of_property_read_u32(&i); } imx-ldb.i: In function 'imx_ldb_bind': imx-ldb.i:7:35: warning: '_sel' directive writing 4 bytes into a region of size between 3 and 13 [-Wformat-overflow=] __builtin_sprintf(clkname, "di%d_sel", i);