https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101917
Bug ID: 101917 Summary: Spurious -Wstringop-overread with -flto when passing zero sized arrays Product: gcc Version: 11.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: rimvydas.jas at gmail dot com Target Milestone: --- $ cat bar.c void bar_(const int flag[], const int *num) { } $ cat foo.f90 program foo integer :: idummy(0) call bar(idummy, 0) end program $ gcc -flto -c bar.c $ gfortran -Wall -Wextra -flto -c foo.f90 $ gfortran -Wall -Wextra -flto foo.o bar.o foo.f90: In function 'foo': foo.f90:3:19: warning: 'bar_' reading 4 bytes from a region of size 0 [-Wstringop-overread] 3 | call bar(idummy, 0) | ^ foo.f90:3:19: note: referencing argument 1 of type 'const int *' bar.c:1:6: note: in a call to function 'bar_' 1 | void bar_(const int flag[], const int *num) { } | ^