https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83953
G. Steinmetz <gs...@t-online.de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |gs...@t-online.de --- Comment #2 from G. Steinmetz <gs...@t-online.de> --- Simplification : $ cat z1.f90 program p type t integer :: n = 1 integer, allocatable :: u(:) real :: v(3, 3) end type type(t) :: z real :: x(3) = [1.0, 2.0, 3.0] allocate (z%u(3)) z%u = [3, 1, 2] forall (j = 1:3) z%v(j, z%n) = x(z%u(j)) end forall end $ gfortran-9-20181118 -c z1.f90 -fcheck=all z1.f90:11:0: 11 | forall (j = 1:3) | internal compiler error: Segmentation fault 0xb2a03f crash_signal ../../gcc/toplev.c:325 0x6f1006 gfc_conv_expr_val(gfc_se*, gfc_expr*) ../../gcc/fortran/trans-expr.c:8091 0x6f1160 gfc_conv_expr_type(gfc_se*, gfc_expr*, tree_node*) ../../gcc/fortran/trans-expr.c:8106 0x6c9540 gfc_conv_array_ref(gfc_se*, gfc_array_ref*, gfc_expr*, locus*) ../../gcc/fortran/trans-array.c:3614 0x6f1d8e gfc_conv_variable ../../gcc/fortran/trans-expr.c:2773 0x6eea0a gfc_conv_expr(gfc_se*, gfc_expr*) ../../gcc/fortran/trans-expr.c:8047 0x6f1013 gfc_conv_expr_val(gfc_se*, gfc_expr*) ../../gcc/fortran/trans-expr.c:8092 0x6f1160 gfc_conv_expr_type(gfc_se*, gfc_expr*, tree_node*) ../../gcc/fortran/trans-expr.c:8106 0x6c905c gfc_conv_array_ref(gfc_se*, gfc_array_ref*, gfc_expr*, locus*) ../../gcc/fortran/trans-array.c:3597 0x6f1d8e gfc_conv_variable ../../gcc/fortran/trans-expr.c:2773 0x6eea0a gfc_conv_expr(gfc_se*, gfc_expr*) ../../gcc/fortran/trans-expr.c:8047 0x6fd0b9 gfc_trans_assignment_1 ../../gcc/fortran/trans-expr.c:10248 0x72b323 gfc_trans_forall_1 ../../gcc/fortran/trans-stmt.c:4780 0x6c0047 trans_code ../../gcc/fortran/trans.c:1966 0x6e7754 gfc_generate_function_code(gfc_namespace*) ../../gcc/fortran/trans-decl.c:6509 0x674576 translate_all_program_units ../../gcc/fortran/parse.c:6125 0x674576 gfc_parse_file() ../../gcc/fortran/parse.c:6328 0x6bc97f gfc_be_parse_file ../../gcc/fortran/f95-lang.c:204