[PATCH, Fortran] Regression Fix PR121743

Jerry D jvdelisle2@gmail.com
Thu Mar 12 20:10:06 GMT 2026


Thanks Paul, committed:


commit r16-8060-g89efa0069

On 3/12/26 1:00 PM, Paul Richard Thomas wrote:
> 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 <jvdelisle2@gmail.com> 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 <jvdelisle@gcc.gnu.org>
>> 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 <gilles.gouaillardet@gmail.com>
>>
>> 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



More information about the Fortran mailing list