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: [email protected]
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