https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107819

            Bug ID: 107819
           Summary: ICE in gfc_check_argument_var_dependency, at
                    fortran/dependency.cc:978
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gs...@t-online.de
  Target Milestone: ---

Affects versions down to at least r5 :
(presumably processor dependent)


$ cat z1.f90
program p
   integer :: a(4) = [-1, -2, -3, -4]
   integer :: n(4) = [4, 2, 1, 3]
   call s (a(n), a)
   print *, a
contains
   elemental subroutine s (x, y)
      integer, value :: x
      integer, intent(out) :: y
      y = x
   end
end


$ cat z2.f90
program p
   integer :: a(1) = [-1]
   integer :: n(1) = [1]
   call s (a(n), a)
   print *, a
contains
   elemental subroutine s (x, y)
      integer, value :: x
      integer, intent(out) :: y
      y = x
   end
end


$ cat z6.f90
program p
   integer :: a(1) = [-1]
   integer :: n = 1
   call s (a(n:n), a)
   print *, a
contains
   elemental subroutine s (x, y)
      integer, value :: x
      integer, intent(out) :: y
      y = x
   end
end


$ cat z7.f90
program p
   implicit none
   integer, parameter :: m = 99
   integer :: i
   integer :: a(m) = [(-i,i=1,m)]
   integer :: n(m) = [(i,i=m,1,-1)]
   call s (a(n), a)
   print *, a
contains
   elemental subroutine s (x, y)
      integer, value :: x
      integer, intent(out) :: y
      y = x
   end
end


$ gfortran-13-20221120 -c z1.f90
z1.f90:4:19:

    4 |    call s (a(n), a)
      |                   1
internal compiler error: in gfc_check_argument_var_dependency, at
fortran/dependency.cc:978
0x8add39 gfc_check_argument_var_dependency
        ../../gcc/fortran/dependency.cc:978
0x8addcc gfc_check_argument_dependency
        ../../gcc/fortran/dependency.cc:1075
0x8addcc gfc_check_fncall_dependency(gfc_expr*, sym_intent, gfc_symbol*,
gfc_actual_arglist*, gfc_dep_check)
        ../../gcc/fortran/dependency.cc:1120
0x9640b0 gfc_conv_elemental_dependencies
        ../../gcc/fortran/trans-stmt.cc:267
0x9640b0 gfc_trans_call(gfc_code*, bool, tree_node*, tree_node*, bool)
        ../../gcc/fortran/trans-stmt.cc:491
0x8be656 trans_code
        ../../gcc/fortran/trans.cc:2018
0x8f5379 gfc_generate_function_code(gfc_namespace*)
        ../../gcc/fortran/trans-decl.cc:7674
0x86775e translate_all_program_units
        ../../gcc/fortran/parse.cc:6696
0x86775e gfc_parse_file()
        ../../gcc/fortran/parse.cc:7002
0x8b5a9f gfc_be_parse_file
        ../../gcc/fortran/f95-lang.cc:229

Reply via email to