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

            Bug ID: 105380
           Summary: ICE in gfc_conv_array_initializer, at
                    fortran/trans-array.cc:6317
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gs...@t-online.de
  Target Milestone: ---

Something has changed between 20220306 and 20220327,
relevant especially for release versions :


$ cat z1.f90
program p
   type t(n)
      integer, len :: n
   end type
   type t2(m)
      integer, len :: m
      type(t(1)) :: a(m)
   end type
   type(t2(3)) :: x
end


$ gfortran-12-20220306 -c z1.f90
$
$ gfortran-12-20220424 -c z1.f90
z1.f90:10:3:

   10 | end
      |   1
internal compiler error: Segmentation fault
0xccf18f crash_signal
        ../../gcc/toplev.cc:322
0x7c2197 wi::extended_tree<576>::get_len() const
        ../../gcc/tree.h:6179
0x7c2197 wi::int_traits<generic_wide_int<wi::extended_tree<576> >
>::decompose(long*, unsigned int, generic_wide_int<wi::extended_tree<576> >
const&)
        ../../gcc/wide-int.h:985
0x7c2197 wide_int_ref_storage<true,
false>::wide_int_ref_storage<generic_wide_int<wi::extended_tree<576> >
>(generic_wide_int<wi::extended_tree<576> > const&, unsigned int)
        ../../gcc/wide-int.h:1034
0x7c2197 generic_wide_int<wide_int_ref_storage<true, false>
>::generic_wide_int<generic_wide_int<wi::extended_tree<576> >
>(generic_wide_int<wi::extended_tree<576> > const&, unsigned int)
        ../../gcc/wide-int.h:790
0x7c2197 bool wi::lts_p<generic_wide_int<wi::extended_tree<576> >,
generic_wide_int<wi::extended_tree<576> >
>(generic_wide_int<wi::extended_tree<576> > const&,
generic_wide_int<wi::extended_tree<576> > const&)
        ../../gcc/wide-int.h:1904
0x7c2197 wi::binary_traits<generic_wide_int<wi::extended_tree<576> >,
generic_wide_int<wi::extended_tree<576> >,
wi::int_traits<generic_wide_int<wi::extended_tree<576> > >::precision_type,
wi::int_traits<generic_wide_int<wi::extended_tree<576> >
>::precision_type>::signed_predicate_result operator<
<generic_wide_int<wi::extended_tree<576> >,
generic_wide_int<wi::extended_tree<576> >
>(generic_wide_int<wi::extended_tree<576> > const&,
generic_wide_int<wi::extended_tree<576> > const&)
        ../../gcc/wide-int.h:3250
0x7c2197 tree_int_cst_lt(tree_node const*, tree_node const*)
        ../../gcc/tree.h:6335
0x7c2197 gfc_conv_array_initializer(tree_node*, gfc_expr*)
        ../../gcc/fortran/trans-array.cc:6316
0x7efa40 gfc_conv_initializer(gfc_expr*, gfc_typespec*, tree_node*, bool, bool,
bool)
        ../../gcc/fortran/trans-expr.cc:8393
0x7dc1e3 gfc_conv_structure(gfc_se*, gfc_expr*, int)
        ../../gcc/fortran/trans-expr.cc:9308
0x7efb99 gfc_conv_initializer(gfc_expr*, gfc_typespec*, tree_node*, bool, bool,
bool)
        ../../gcc/fortran/trans-expr.cc:8428
0x7c6ba5 gfc_emit_parameter_debug_info
        ../../gcc/fortran/trans-decl.cc:5513
0x78f282 do_traverse_symtree
        ../../gcc/fortran/symbol.cc:4174
0x7d4d18 gfc_generate_function_code(gfc_namespace*)
        ../../gcc/fortran/trans-decl.cc:7818
0x75700e translate_all_program_units
        ../../gcc/fortran/parse.cc:6669
0x75700e gfc_parse_file()
        ../../gcc/fortran/parse.cc:6956
0x7a44af gfc_be_parse_file
        ../../gcc/fortran/f95-lang.cc:216

Reply via email to