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

--- Comment #4 from G. Steinmetz <gs...@t-online.de> ---

Update, ICEs also with a scalar component "a" :


$ cat z2.f90
program p
   type t
      integer, allocatable :: a
   end type
   type t2
      type(t), allocatable :: b(:)
   end type
   type(t) :: x
   type(t2) :: y(2)[*]
   allocate (x%a)
   x%a = 123
   y = t2([x])
end


$ gfortran-10-20191215 -c z2.f90 -fcoarray=single
z2.f90:12:0:

   12 |    y = t2([x])
      |
internal compiler error: Segmentation fault
0xb8147f crash_signal
        ../../gcc/toplev.c:328
0x8c43d3 fold_ternary_loc(unsigned int, tree_code, tree_node*, tree_node*,
tree_node*, tree_node*)
        ../../gcc/fold-const.c:11908
0x8c5fb3 fold_build3_loc(unsigned int, tree_code, tree_node*, tree_node*,
tree_node*, tree_node*)
        ../../gcc/fold-const.c:12943
0x6ea9ed structure_alloc_comps
        ../../gcc/fortran/trans-array.c:9257
0x6eafbe structure_alloc_comps
        ../../gcc/fortran/trans-array.c:8692
0x6ec87f structure_alloc_comps
        ../../gcc/fortran/trans-array.c:9361
0x6eef63 gfc_copy_alloc_comp(gfc_symbol*, tree_node*, tree_node*, int, int)
        ../../gcc/fortran/trans-array.c:9812
0x705d1b gfc_trans_scalar_assign(gfc_se*, gfc_se*, gfc_typespec, bool, bool,
bool)
        ../../gcc/fortran/trans-expr.c:9685
0x7170cd gfc_trans_assignment_1
        ../../gcc/fortran/trans-expr.c:11051
0x6d6b97 trans_code
        ../../gcc/fortran/trans.c:1864
0x700124 gfc_generate_function_code(gfc_namespace*)
        ../../gcc/fortran/trans-decl.c:6801
0x6891b6 translate_all_program_units
        ../../gcc/fortran/parse.c:6302
0x6891b6 gfc_parse_file()
        ../../gcc/fortran/parse.c:6541
0x6d365f gfc_be_parse_file
        ../../gcc/fortran/f95-lang.c:210

Reply via email to