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

--- Comment #11 from Harald Anlauf <anlauf at gmx dot de> ---
While reducing PR 78290, I found another example giving a similar traceback:

% gfc-trunk gfcbug136.f90
gfcbug136.f90:13:0:

   ip=>ta%i !!! Works if you comment this line out !!!

internal compiler error: in gfc_add_modify_loc, at fortran/trans.c:159
0x835756e gfc_add_modify_loc(unsigned int, stmtblock_t*, tree_node*,
tree_node*)
        ../../trunk/gcc/fortran/trans.c:158
0x83575e7 gfc_add_modify(stmtblock_t*, tree_node*, tree_node*)
        ../../trunk/gcc/fortran/trans.c:170
0x83a90eb gfc_trans_pointer_assignment(gfc_expr*, gfc_expr*)
        ../../trunk/gcc/fortran/trans-expr.c:8267
0x83a9688 gfc_trans_pointer_assign(gfc_code*)
        ../../trunk/gcc/fortran/trans-expr.c:8054
0x8358357 trans_code
        ../../trunk/gcc/fortran/trans.c:1714
0x838d62c gfc_generate_function_code(gfc_namespace*)
        ../../trunk/gcc/fortran/trans-decl.c:6261
0x830d833 translate_all_program_units
        ../../trunk/gcc/fortran/parse.c:6038
0x830d833 gfc_parse_file()
        ../../trunk/gcc/fortran/parse.c:6238
0x8352db5 gfc_be_parse_file
        ../../trunk/gcc/fortran/f95-lang.c:202

% cat gfcbug136.f90
! Reduced from PR 78290, similar to PR 69604
subroutine foo ()
  implicit none
  type mytype
    integer :: i = 1
  end type mytype

  type(mytype),target  :: ta(9)
  integer     ,pointer :: ip(:)

  volatile :: ip  ! <-- ICE

  ip=>ta%i !!! Works if you comment this line out !!!

end subroutine foo

Reply via email to