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