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 [...]