https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64980
janus at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |ice-on-valid-code
Status|UNCONFIRMED |NEW
Last reconfirmed| |2015-02-09
CC| |janus at gcc dot gnu.org
Target Milestone|--- |5.0
Summary|[5.0 regression] ICE in |[5.0 Regression] ICE in
|trans-expr.c |trans-expr.c
Ever confirmed|0 |1
--- Comment #1 from janus at gcc dot gnu.org ---
Here is a reduced test case, which is enough to trigger the ICE:
module muli_trapezium
implicit none
type :: muli_trapezium_t
integer::dim=0
end type
type, extends (muli_trapezium_t) :: muli_trapezium_node_class_t
end type
contains
pure function get_d_value_array (this) result (subarray)
class(muli_trapezium_t), intent(in) :: this
real, dimension(this%dim) :: subarray
end function
subroutine set_d_integral (this, subarray)
class(muli_trapezium_t), intent(inout) :: this
real, intent(in), dimension(0:this%dim-1) :: subarray
end subroutine
subroutine muli_trapezium_list_integrate ()
class(muli_trapezium_node_class_t), pointer :: node
call set_d_integral ( node, get_d_value_array(node) ) ! ICE
end subroutine
end module
Backtrace:
0x6b8df3 gfc_conv_component_ref
/home/jweil/gcc/gcc50/trunk/gcc/fortran/trans-expr.c:1954
0x6b8f4a conv_parent_component_references
/home/jweil/gcc/gcc50/trunk/gcc/fortran/trans-expr.c:2020
0x6c3633 gfc_conv_variable
/home/jweil/gcc/gcc50/trunk/gcc/fortran/trans-expr.c:2209
0x6c0cba gfc_conv_expr(gfc_se*, gfc_expr*)
/home/jweil/gcc/gcc50/trunk/gcc/fortran/trans-expr.c:6882
0x6c22ba gfc_apply_interface_mapping(gfc_interface_mapping*, gfc_se*,
gfc_expr*)
/home/jweil/gcc/gcc50/trunk/gcc/fortran/trans-expr.c:3849
0x699bf8 gfc_set_loop_bounds_from_array_spec(gfc_interface_mapping*, gfc_se*,
gfc_array_spec*)
/home/jweil/gcc/gcc50/trunk/gcc/fortran/trans-array.c:794
0x6bf118 gfc_conv_procedure_call(gfc_se*, gfc_symbol*, gfc_actual_arglist*,
gfc_expr*, vec<tree_node*, va_gc, vl_embed>*)
/home/jweil/gcc/gcc50/trunk/gcc/fortran/trans-expr.c:5347
0x6c0737 gfc_conv_function_expr
/home/jweil/gcc/gcc50/trunk/gcc/fortran/trans-expr.c:5938
0x6c0c9a gfc_conv_expr(gfc_se*, gfc_expr*)
/home/jweil/gcc/gcc50/trunk/gcc/fortran/trans-expr.c:6874
0x6a67b3 gfc_add_loop_ss_code
/home/jweil/gcc/gcc50/trunk/gcc/fortran/trans-array.c:2560
0x6a7385 gfc_conv_loop_setup(gfc_loopinfo*, locus*)
/home/jweil/gcc/gcc50/trunk/gcc/fortran/trans-array.c:4711
0x6a4f5b gfc_conv_expr_descriptor(gfc_se*, gfc_expr*)
/home/jweil/gcc/gcc50/trunk/gcc/fortran/trans-array.c:6689
0x6a857e gfc_conv_array_parameter(gfc_se*, gfc_expr*, bool, gfc_symbol const*,
char const*, tree_node**)
/home/jweil/gcc/gcc50/trunk/gcc/fortran/trans-array.c:7184
0x6bc89b gfc_conv_procedure_call(gfc_se*, gfc_symbol*, gfc_actual_arglist*,
gfc_expr*, vec<tree_node*, va_gc, vl_embed>*)
/home/jweil/gcc/gcc50/trunk/gcc/fortran/trans-expr.c:4843
0x6eec1e gfc_trans_call(gfc_code*, bool, tree_node*, tree_node*, bool)
/home/jweil/gcc/gcc50/trunk/gcc/fortran/trans-stmt.c:419
0x69590c trans_code
/home/jweil/gcc/gcc50/trunk/gcc/fortran/trans.c:1728
0x6b6723 gfc_generate_function_code(gfc_namespace*)
/home/jweil/gcc/gcc50/trunk/gcc/fortran/trans-decl.c:5842
0x6979d1 gfc_generate_module_code(gfc_namespace*)
/home/jweil/gcc/gcc50/trunk/gcc/fortran/trans.c:2021
0x651915 translate_all_program_units
/home/jweil/gcc/gcc50/trunk/gcc/fortran/parse.c:5328
0x651915 gfc_parse_file()
/home/jweil/gcc/gcc50/trunk/gcc/fortran/parse.c:5538