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

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

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

pr69604-z4.f90:5:0:

    z = 1 / cmplx(y)

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
0x82fc257 trans_code
        ../../trunk/gcc/fortran/trans.c:1680
0x82fc8d3 gfc_trans_code(gfc_code*)
        ../../trunk/gcc/fortran/trans.c:1991
0x8331e06 gfc_generate_function_code(gfc_namespace*)
        ../../trunk/gcc/fortran/trans-decl.c:6140
0x82fc90e gfc_generate_code(gfc_namespace*)
        ../../trunk/gcc/fortran/trans.c:2008
0x82a67d3 translate_all_program_units
[...]

Reply via email to