Looks good to me. OK for mainline and for backporting. Thanks for going through the regressions.
Paul On Thu, 12 Mar 2026 at 18:06, Jerry D <[email protected]> wrote: > > The following regression tested on x86_64. The oneliner was provided by the > reporter. Jakub gave the reduced test case in the PR. > > OK to commit to mailine and then will backport to 15 in a few days. > > Best regards, > > Jerry > > commit 49ca17dea6de4e01b068a678b36f1c7caa578cc2 > Author: Jerry DeLisle <[email protected]> > Date: Thu Mar 12 10:23:47 2026 -0700 > > Fortran: [PR121743] ICE in build_function_decl. > > PR fortran/121743 > > gcc/fortran/ChangeLog: > > * trans-decl.cc (build_function_decl): Adjust the > gcc_assert condition to avoid the ICE. > > gcc/testsuite/ChangeLog: > > * gfortran.dg/pr121743.f90: New test. > > Co-Authored-By: Gilles Gouaillardet <[email protected]> > > diff --git a/gcc/fortran/trans-decl.cc b/gcc/fortran/trans-decl.cc > index 8649d0fbc81..0080e83fc36 100644 > --- a/gcc/fortran/trans-decl.cc > +++ b/gcc/fortran/trans-decl.cc > @@ -2550,6 +2550,8 @@ build_function_decl (gfc_symbol * sym, bool global) > /* Allow only one nesting level. Allow public declarations. */ > gcc_assert (current_function_decl == NULL_TREE > || DECL_FILE_SCOPE_P (current_function_decl) > + || (TREE_CODE (DECL_CONTEXT (current_function_decl)) > + == FUNCTION_DECL) > || (TREE_CODE (DECL_CONTEXT (current_function_decl)) > == NAMESPACE_DECL)); > > diff --git a/gcc/testsuite/gfortran.dg/pr121743.f90 > b/gcc/testsuite/gfortran.dg/pr121743.f90 > new file mode 100644 > index 00000000000..29a1cdec2ac > --- /dev/null > +++ b/gcc/testsuite/gfortran.dg/pr121743.f90 > @@ -0,0 +1,11 @@ > +! PR fortran/121743 > +! { dg-do compile } > +! { dg-options "-fcoarray=lib" } > + > +program pr121743 > +end program pr121743 > +subroutine foo () > + integer, allocatable, dimension(:), codimension[:] :: s > + integer :: i > + i = s(1)[1] > +end
