These failures started with r247622. They were mentioned in a previous PR which is fixed (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80643 and 80644 as well) but there were many other test case failures and I think these just got missed. FAIL: gfortran.dg/elemental_subroutine_3.f90 -O1 (test for excess errors) FAIL: gfortran.dg/elemental_subroutine_3.f90 -O2 (test for excess errors) FAIL: gfortran.dg/elemental_subroutine_3.f90 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions (test for excess errors) FAIL: gfortran.dg/elemental_subroutine_3.f90 -O3 -g (test for excess errors) FAIL: gfortran.dg/elemental_subroutine_3.f90 -Os (test for excess errors) spawn -ignore SIGHUP /home/seurer/gcc/build/gcc-trunk/gcc/testsuite/gfortran9/../../gfortran -B/home/seurer/gcc/build/gcc-trunk/gcc/testsuite/gfortran9/../../ -B/home/seurer/gcc/build/gcc-trunk/powerpc64le-unknown-linux-gnu/./libgfortran/ /home/seurer/gcc/gcc-trunk/gcc/testsuite/gfortran.dg/elemental_subroutine_3.f90 -fno-diagnostics-show-caret -fdiagnostics-color=never -O1 -pedantic-errors -B/home/seurer/gcc/build/gcc-trunk/powerpc64le-unknown-linux-gnu/./libgfortran/.libs -L/home/seurer/gcc/build/gcc-trunk/powerpc64le-unknown-linux-gnu/./libgfortran/.libs -L/home/seurer/gcc/build/gcc-trunk/powerpc64le-unknown-linux-gnu/./libgfortran/.libs -L/home/seurer/gcc/build/gcc-trunk/powerpc64le-unknown-linux-gnu/./libatomic/.libs -B/home/seurer/gcc/build/gcc-trunk/powerpc64le-unknown-linux-gnu/./libquadmath/.libs -L/home/seurer/gcc/build/gcc-trunk/powerpc64le-unknown-linux-gnu/./libquadmath/.libs -L/home/seurer/gcc/build/gcc-trunk/powerpc64le-unknown-linux-gnu/./libquadmath/.libs -lm -o ./elemental_subroutine_3.exe /home/seurer/gcc/gcc-trunk/gcc/testsuite/gfortran.dg/elemental_subroutine_3.f90:37:0: Warning: '__builtin_memcpy' reading 16 bytes from a region of size 12 [-Wstringop-overflow=] FAIL: gfortran.dg/elemental_subroutine_3.f90 -O1 (test for excess errors) Excess errors: /home/seurer/gcc/gcc-trunk/gcc/testsuite/gfortran.dg/elemental_subroutine_3.f90:37:0: Warning: '__builtin_memcpy' reading 16 bytes from a region of size 12 [-Wstringop-overflow=] spawn -ignore SIGHUP /home/seurer/gcc/build/gcc-trunk/gcc/testsuite/gfortran9/../../gfortran -B/home/seurer/gcc/build/gcc-trunk/gcc/testsuite/gfortran9/../../ -B/home/seurer/gcc/build/gcc-trunk/powerpc64le-unknown-linux-gnu/./libgfortran/ /home/seurer/gcc/gcc-trunk/gcc/testsuite/gfortran.dg/elemental_subroutine_3.f90 -fno-diagnostics-show-caret -fdiagnostics-color=never -O2 -pedantic-errors -B/home/seurer/gcc/build/gcc-trunk/powerpc64le-unknown-linux-gnu/./libgfortran/.libs -L/home/seurer/gcc/build/gcc-trunk/powerpc64le-unknown-linux-gnu/./libgfortran/.libs -L/home/seurer/gcc/build/gcc-trunk/powerpc64le-unknown-linux-gnu/./libgfortran/.libs -L/home/seurer/gcc/build/gcc-trunk/powerpc64le-unknown-linux-gnu/./libatomic/.libs -B/home/seurer/gcc/build/gcc-trunk/powerpc64le-unknown-linux-gnu/./libquadmath/.libs -L/home/seurer/gcc/build/gcc-trunk/powerpc64le-unknown-linux-gnu/./libquadmath/.libs -L/home/seurer/gcc/build/gcc-trunk/powerpc64le-unknown-linux-gnu/./libquadmath/.libs -lm -o ./elemental_subroutine_3.exe /home/seurer/gcc/gcc-trunk/gcc/testsuite/gfortran.dg/elemental_subroutine_3.f90:37:0: Warning: '__builtin_memcpy' reading 16 bytes from a region of size 12 [-Wstringop-overflow=] FAIL: gfortran.dg/elemental_subroutine_3.f90 -O2 (test for excess errors) Excess errors: /home/seurer/gcc/gcc-trunk/gcc/testsuite/gfortran.dg/elemental_subroutine_3.f90:37:0: Warning: '__builtin_memcpy' reading 16 bytes from a region of size 12 [-Wstringop-overflow=] spawn -ignore SIGHUP /home/seurer/gcc/build/gcc-trunk/gcc/testsuite/gfortran9/../../gfortran -B/home/seurer/gcc/build/gcc-trunk/gcc/testsuite/gfortran9/../../ -B/home/seurer/gcc/build/gcc-trunk/powerpc64le-unknown-linux-gnu/./libgfortran/ /home/seurer/gcc/gcc-trunk/gcc/testsuite/gfortran.dg/elemental_subroutine_3.f90 -fno-diagnostics-show-caret -fdiagnostics-color=never -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions -pedantic-errors -B/home/seurer/gcc/build/gcc-trunk/powerpc64le-unknown-linux-gnu/./libgfortran/.libs -L/home/seurer/gcc/build/gcc-trunk/powerpc64le-unknown-linux-gnu/./libgfortran/.libs -L/home/seurer/gcc/build/gcc-trunk/powerpc64le-unknown-linux-gnu/./libgfortran/.libs -L/home/seurer/gcc/build/gcc-trunk/powerpc64le-unknown-linux-gnu/./libatomic/.libs -B/home/seurer/gcc/build/gcc-trunk/powerpc64le-unknown-linux-gnu/./libquadmath/.libs -L/home/seurer/gcc/build/gcc-trunk/powerpc64le-unknown-linux-gnu/./libquadmath/.libs -L/home/seurer/gcc/build/gcc-trunk/powerpc64le-unknown-linux-gnu/./libquadmath/.libs -lm -o ./elemental_subroutine_3.exe /home/seurer/gcc/gcc-trunk/gcc/testsuite/gfortran.dg/elemental_subroutine_3.f90:37:0: Warning: '__builtin_memcpy' reading 12 bytes from a region of size 8 [-Wstringop-overflow=] FAIL: gfortran.dg/elemental_subroutine_3.f90 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions (test for excess errors) Excess errors: /home/seurer/gcc/gcc-trunk/gcc/testsuite/gfortran.dg/elemental_subroutine_3.f90:37:0: Warning: '__builtin_memcpy' reading 12 bytes from a region of size 8 [-Wstringop-overflow=] spawn -ignore SIGHUP /home/seurer/gcc/build/gcc-trunk/gcc/testsuite/gfortran9/../../gfortran -B/home/seurer/gcc/build/gcc-trunk/gcc/testsuite/gfortran9/../../ -B/home/seurer/gcc/build/gcc-trunk/powerpc64le-unknown-linux-gnu/./libgfortran/ /home/seurer/gcc/gcc-trunk/gcc/testsuite/gfortran.dg/elemental_subroutine_3.f90 -fno-diagnostics-show-caret -fdiagnostics-color=never -O3 -g -pedantic-errors -B/home/seurer/gcc/build/gcc-trunk/powerpc64le-unknown-linux-gnu/./libgfortran/.libs -L/home/seurer/gcc/build/gcc-trunk/powerpc64le-unknown-linux-gnu/./libgfortran/.libs -L/home/seurer/gcc/build/gcc-trunk/powerpc64le-unknown-linux-gnu/./libgfortran/.libs -L/home/seurer/gcc/build/gcc-trunk/powerpc64le-unknown-linux-gnu/./libatomic/.libs -B/home/seurer/gcc/build/gcc-trunk/powerpc64le-unknown-linux-gnu/./libquadmath/.libs -L/home/seurer/gcc/build/gcc-trunk/powerpc64le-unknown-linux-gnu/./libquadmath/.libs -L/home/seurer/gcc/build/gcc-trunk/powerpc64le-unknown-linux-gnu/./libquadmath/.libs -lm -o ./elemental_subroutine_3.exe /home/seurer/gcc/gcc-trunk/gcc/testsuite/gfortran.dg/elemental_subroutine_3.f90:37:0: Warning: '__builtin_memcpy' reading 16 bytes from a region of size 12 [-Wstringop-overflow=] FAIL: gfortran.dg/elemental_subroutine_3.f90 -O3 -g (test for excess errors) Excess errors: /home/seurer/gcc/gcc-trunk/gcc/testsuite/gfortran.dg/elemental_subroutine_3.f90:37:0: Warning: '__builtin_memcpy' reading 16 bytes from a region of size 12 [-Wstringop-overflow=] spawn -ignore SIGHUP /home/seurer/gcc/build/gcc-trunk/gcc/testsuite/gfortran9/../../gfortran -B/home/seurer/gcc/build/gcc-trunk/gcc/testsuite/gfortran9/../../ -B/home/seurer/gcc/build/gcc-trunk/powerpc64le-unknown-linux-gnu/./libgfortran/ /home/seurer/gcc/gcc-trunk/gcc/testsuite/gfortran.dg/elemental_subroutine_3.f90 -fno-diagnostics-show-caret -fdiagnostics-color=never -Os -pedantic-errors -B/home/seurer/gcc/build/gcc-trunk/powerpc64le-unknown-linux-gnu/./libgfortran/.libs -L/home/seurer/gcc/build/gcc-trunk/powerpc64le-unknown-linux-gnu/./libgfortran/.libs -L/home/seurer/gcc/build/gcc-trunk/powerpc64le-unknown-linux-gnu/./libgfortran/.libs -L/home/seurer/gcc/build/gcc-trunk/powerpc64le-unknown-linux-gnu/./libatomic/.libs -B/home/seurer/gcc/build/gcc-trunk/powerpc64le-unknown-linux-gnu/./libquadmath/.libs -L/home/seurer/gcc/build/gcc-trunk/powerpc64le-unknown-linux-gnu/./libquadmath/.libs -L/home/seurer/gcc/build/gcc-trunk/powerpc64le-unknown-linux-gnu/./libquadmath/.libs -lm -o ./elemental_subroutine_3.exe /home/seurer/gcc/gcc-trunk/gcc/testsuite/gfortran.dg/elemental_subroutine_3.f90:37:0: Warning: '__builtin_memcpy' reading 16 bytes from a region of size 12 [-Wstringop-overflow=] FAIL: gfortran.dg/elemental_subroutine_3.f90 -Os (test for excess errors) Excess errors: /home/seurer/gcc/gcc-trunk/gcc/testsuite/gfortran.dg/elemental_subroutine_3.f90:37:0: Warning: '__builtin_memcpy' reading 16 bytes from a region of size 12 [-Wstringop-overflow=]
The warnings in this test are the subject of bug 80645. It's still not completely clear that the code the warning sees is correct (bug 80645 comment #10 says the test case is valid as is the code emitted by the Fortran front-end, but it doesn't speak to the validity of the GIMPLE, i.e., it doesn't refute the analysis in bug 80645 comment #3). I am also yet to fix bug 80545 which is about -Wstringop-overflow= being enabled by default by the Fortran front-end with no way to suppress it. *** This bug has been marked as a duplicate of bug 80645 ***