Hi, I have commited the patch now. On the current tree the patch causes new failure ./gcc/testsuite/gfortran/gfortran.sum:FAIL: gfortran.dg/vector_subscript_1.f90 -O1 execution test ./gcc/testsuite/gfortran/gfortran.sum:FAIL: gfortran.dg/vector_subscript_1.f90 -O2 execution test ./gcc/testsuite/gfortran/gfortran.sum:FAIL: gfortran.dg/vector_subscript_1.f90 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions execution test ./gcc/testsuite/gfortran/gfortran.sum:FAIL: gfortran.dg/vector_subscript_1.f90 -O3 -g execution test
This is however just semi-latent bug that got triggered and same problem reproduces with -fipa-pta and is tracked in PR86389 The problem is that Fortran builds a trailling array that is not discovered as trailling by the middle-end and dom pass does invalid propagation. Same problem is triggered by modref because in order to make this happen we need to discover that nested function test is not writting into arrays a and b. Honza