https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127846
--- Comment #4 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Harald Anlauf <[email protected]>: https://gcc.gnu.org/g:9d3a1bc203a79ff547c92ad0fc0773bf328aeeb5 commit r17-5172-g9d3a1bc203a79ff547c92ad0fc0773bf328aeeb5 Author: Harald Anlauf <[email protected]> Date: Tue Oct 13 20:46:28 2026 +0200 fortran: Fix MINLOC/MAXLOC with MASK and BACK=.true. [PR127846] The runtime library templates for MINLOC/MAXLOC did not advance properly through the array argument when MASK was present and BACK was .true. . Co-authored-by: Federico Perini <[email protected]> PR fortran/127846 libgfortran/ChangeLog: * generated/maxloc0_16_i1.c (mmaxloc0_16_i1): Regenerate. * generated/maxloc0_16_i16.c (mmaxloc0_16_i16): Likewise. * generated/maxloc0_16_i2.c (mmaxloc0_16_i2): Likewise. * generated/maxloc0_16_i4.c (mmaxloc0_16_i4): Likewise. * generated/maxloc0_16_i8.c (mmaxloc0_16_i8): Likewise. * generated/maxloc0_16_m1.c (mmaxloc0_16_m1): Likewise. * generated/maxloc0_16_m16.c (mmaxloc0_16_m16): Likewise. * generated/maxloc0_16_m2.c (mmaxloc0_16_m2): Likewise. * generated/maxloc0_16_m4.c (mmaxloc0_16_m4): Likewise. * generated/maxloc0_16_m8.c (mmaxloc0_16_m8): Likewise. * generated/maxloc0_16_r10.c (mmaxloc0_16_r10): Likewise. * generated/maxloc0_16_r16.c (mmaxloc0_16_r16): Likewise. * generated/maxloc0_16_r17.c (mmaxloc0_16_r17): Likewise. * generated/maxloc0_16_r4.c (mmaxloc0_16_r4): Likewise. * generated/maxloc0_16_r8.c (mmaxloc0_16_r8): Likewise. * generated/maxloc0_4_i1.c (mmaxloc0_4_i1): Likewise. * generated/maxloc0_4_i16.c (mmaxloc0_4_i16): Likewise. * generated/maxloc0_4_i2.c (mmaxloc0_4_i2): Likewise. * generated/maxloc0_4_i4.c (mmaxloc0_4_i4): Likewise. * generated/maxloc0_4_i8.c (mmaxloc0_4_i8): Likewise. * generated/maxloc0_4_m1.c (mmaxloc0_4_m1): Likewise. * generated/maxloc0_4_m16.c (mmaxloc0_4_m16): Likewise. * generated/maxloc0_4_m2.c (mmaxloc0_4_m2): Likewise. * generated/maxloc0_4_m4.c (mmaxloc0_4_m4): Likewise. * generated/maxloc0_4_m8.c (mmaxloc0_4_m8): Likewise. * generated/maxloc0_4_r10.c (mmaxloc0_4_r10): Likewise. * generated/maxloc0_4_r16.c (mmaxloc0_4_r16): Likewise. * generated/maxloc0_4_r17.c (mmaxloc0_4_r17): Likewise. * generated/maxloc0_4_r4.c (mmaxloc0_4_r4): Likewise. * generated/maxloc0_4_r8.c (mmaxloc0_4_r8): Likewise. * generated/maxloc0_8_i1.c (mmaxloc0_8_i1): Likewise. * generated/maxloc0_8_i16.c (mmaxloc0_8_i16): Likewise. * generated/maxloc0_8_i2.c (mmaxloc0_8_i2): Likewise. * generated/maxloc0_8_i4.c (mmaxloc0_8_i4): Likewise. * generated/maxloc0_8_i8.c (mmaxloc0_8_i8): Likewise. * generated/maxloc0_8_m1.c (mmaxloc0_8_m1): Likewise. * generated/maxloc0_8_m16.c (mmaxloc0_8_m16): Likewise. * generated/maxloc0_8_m2.c (mmaxloc0_8_m2): Likewise. * generated/maxloc0_8_m4.c (mmaxloc0_8_m4): Likewise. * generated/maxloc0_8_m8.c (mmaxloc0_8_m8): Likewise. * generated/maxloc0_8_r10.c (mmaxloc0_8_r10): Likewise. * generated/maxloc0_8_r16.c (mmaxloc0_8_r16): Likewise. * generated/maxloc0_8_r17.c (mmaxloc0_8_r17): Likewise. * generated/maxloc0_8_r4.c (mmaxloc0_8_r4): Likewise. * generated/maxloc0_8_r8.c (mmaxloc0_8_r8): Likewise. * generated/minloc0_16_i1.c (mminloc0_16_i1): Likewise. * generated/minloc0_16_i16.c (mminloc0_16_i16): Likewise. * generated/minloc0_16_i2.c (mminloc0_16_i2): Likewise. * generated/minloc0_16_i4.c (mminloc0_16_i4): Likewise. * generated/minloc0_16_i8.c (mminloc0_16_i8): Likewise. * generated/minloc0_16_m1.c (mminloc0_16_m1): Likewise. * generated/minloc0_16_m16.c (mminloc0_16_m16): Likewise. * generated/minloc0_16_m2.c (mminloc0_16_m2): Likewise. * generated/minloc0_16_m4.c (mminloc0_16_m4): Likewise. * generated/minloc0_16_m8.c (mminloc0_16_m8): Likewise. * generated/minloc0_16_r10.c (mminloc0_16_r10): Likewise. * generated/minloc0_16_r16.c (mminloc0_16_r16): Likewise. * generated/minloc0_16_r17.c (mminloc0_16_r17): Likewise. * generated/minloc0_16_r4.c (mminloc0_16_r4): Likewise. * generated/minloc0_16_r8.c (mminloc0_16_r8): Likewise. * generated/minloc0_4_i1.c (mminloc0_4_i1): Likewise. * generated/minloc0_4_i16.c (mminloc0_4_i16): Likewise. * generated/minloc0_4_i2.c (mminloc0_4_i2): Likewise. * generated/minloc0_4_i4.c (mminloc0_4_i4): Likewise. * generated/minloc0_4_i8.c (mminloc0_4_i8): Likewise. * generated/minloc0_4_m1.c (mminloc0_4_m1): Likewise. * generated/minloc0_4_m16.c (mminloc0_4_m16): Likewise. * generated/minloc0_4_m2.c (mminloc0_4_m2): Likewise. * generated/minloc0_4_m4.c (mminloc0_4_m4): Likewise. * generated/minloc0_4_m8.c (mminloc0_4_m8): Likewise. * generated/minloc0_4_r10.c (mminloc0_4_r10): Likewise. * generated/minloc0_4_r16.c (mminloc0_4_r16): Likewise. * generated/minloc0_4_r17.c (mminloc0_4_r17): Likewise. * generated/minloc0_4_r4.c (mminloc0_4_r4): Likewise. * generated/minloc0_4_r8.c (mminloc0_4_r8): Likewise. * generated/minloc0_8_i1.c (mminloc0_8_i1): Likewise. * generated/minloc0_8_i16.c (mminloc0_8_i16): Likewise. * generated/minloc0_8_i2.c (mminloc0_8_i2): Likewise. * generated/minloc0_8_i4.c (mminloc0_8_i4): Likewise. * generated/minloc0_8_i8.c (mminloc0_8_i8): Likewise. * generated/minloc0_8_m1.c (mminloc0_8_m1): Likewise. * generated/minloc0_8_m16.c (mminloc0_8_m16): Likewise. * generated/minloc0_8_m2.c (mminloc0_8_m2): Likewise. * generated/minloc0_8_m4.c (mminloc0_8_m4): Likewise. * generated/minloc0_8_m8.c (mminloc0_8_m8): Likewise. * generated/minloc0_8_r10.c (mminloc0_8_r10): Likewise. * generated/minloc0_8_r16.c (mminloc0_8_r16): Likewise. * generated/minloc0_8_r17.c (mminloc0_8_r17): Likewise. * generated/minloc0_8_r4.c (mminloc0_8_r4): Likewise. * generated/minloc0_8_r8.c (mminloc0_8_r8): Likewise. * m4/maxloc0.m4: Fix looping through array argument when BACK=.true. * m4/minloc0.m4: Likewise. gcc/testsuite/ChangeLog: * gfortran.dg/minmaxloc_mask_back.f90: New test.
