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

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

In all za* examples above reduce the type by an integer variable. 
Now type "t" contains one integer and one class(*) :


$ cat zb2.f90
program p
   type t
      integer :: a
      class(*), pointer :: u(:)
   end type
   type(t) :: z
   select type (y => z%u(1))
   end select
end


$ gfortran-9-20181111 -c zb2.f90
zb2.f90:1:0:

    1 | program p
      |
internal compiler error: Segmentation fault
0xb297bf crash_signal
        ../../gcc/toplev.c:325
0x6ea85e gfc_class_len_get(tree_node*)
        ../../gcc/fortran/trans-expr.c:233
0x727331 trans_associate_var
        ../../gcc/fortran/trans-stmt.c:2020
0x72d9d1 gfc_trans_block_construct(gfc_code*)
        ../../gcc/fortran/trans-stmt.c:2073
0x6bff57 trans_code
        ../../gcc/fortran/trans.c:1918
0x6e7674 gfc_generate_function_code(gfc_namespace*)
        ../../gcc/fortran/trans-decl.c:6509
0x6744d6 translate_all_program_units
        ../../gcc/fortran/parse.c:6125
0x6744d6 gfc_parse_file()
        ../../gcc/fortran/parse.c:6328
0x6bc89f gfc_be_parse_file
        ../../gcc/fortran/f95-lang.c:204

Reply via email to