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

            Bug ID: 86220
           Summary: [9 Regression] ICE in gfc_conv_structure, at
                    fortran/trans-expr.c:7789
           Product: gcc
           Version: 9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gs...@t-online.de
  Target Milestone: ---

Introduced between 20180520 and 20180527.
Inspired by gfortran.dg/data_stmt_pointer.f90 :


$ cat z1.f90
program p
   type t
      real :: a = 1
      integer, pointer :: b
   end type
   type(t) :: z
   integer, save, target :: x = 789
   data z%b /x/
end


$ gfortran-9-20180520 -c z1.f90
z1.f90:8:14:

    data z%b /x/
              1
Error: Symbol 'x' must be a PARAMETER in DATA statement at (1)


$ gfortran-9-20180617 -c z1.f90
z1.f90:1:0:

 program p

internal compiler error: Segmentation fault
0xb4d14f crash_signal
        ../../gcc/toplev.c:324
0x7392f0 gfc_conv_structure(gfc_se*, gfc_expr*, int)
        ../../gcc/fortran/trans-expr.c:7789
0x738ec1 gfc_conv_initializer(gfc_expr*, gfc_typespec*, tree_node*, bool, bool,
bool)
        ../../gcc/fortran/trans-expr.c:6951
0x7232fa gfc_get_symbol_decl(gfc_symbol*)
        ../../gcc/fortran/trans-decl.c:1795
0x726007 generate_local_decl
        ../../gcc/fortran/trans-decl.c:5558
0x6ead4b do_traverse_symtree
        ../../gcc/fortran/symbol.c:4167
0x7270fc generate_local_vars
        ../../gcc/fortran/trans-decl.c:5758
0x7270fc gfc_generate_function_code(gfc_namespace*)
        ../../gcc/fortran/trans-decl.c:6402
0x6b63e0 translate_all_program_units
        ../../gcc/fortran/parse.c:6125
0x6b63e0 gfc_parse_file()
        ../../gcc/fortran/parse.c:6328
0x6fd4ff gfc_be_parse_file
        ../../gcc/fortran/f95-lang.c:204

Reply via email to