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

--- Comment #6 from Harald Anlauf <anlauf at gmx dot de> ---
(In reply to Harald Anlauf from comment #5)
> The problem in case for is in the l.h.s. of the assignment, not the r.h.s:

Even simpler, it's just the complex assignment:

program p
   complex :: z[*], w = 1
   real    :: x[*], y = 1
!  z = x / cmplx(0.0, x)
!  z = 1 / cmplx(y)
   z = w
end

pr69604-z4.f90:6:0:

    z = w

internal compiler error: in gfc_add_modify_loc, at fortran/trans.c:159
0x82f7280 gfc_add_modify_loc(unsigned int, stmtblock_t*, tree_node*,
tree_node*)
        ../../trunk/gcc/fortran/trans.c:158
0x82f72e9 gfc_add_modify(stmtblock_t*, tree_node*, tree_node*)
        ../../trunk/gcc/fortran/trans.c:170
0x833c0dd gfc_trans_scalar_assign(gfc_se*, gfc_se*, gfc_typespec, bool, bool)
        ../../trunk/gcc/fortran/trans-expr.c:8292
0x8344590 gfc_trans_assignment_1
        ../../trunk/gcc/fortran/trans-expr.c:9378
0x834f008 gfc_trans_assign(gfc_code*)
        ../../trunk/gcc/fortran/trans-expr.c:9551
[...]

Reply via email to