https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107143
Bug ID: 107143
Summary: ICE: 'verify_gimple' failed (Error: non-trivial
conversion in 'mem_ref')
Product: gcc
Version: 13.0
Status: UNCONFIRMED
Keywords: ice-checking, ice-on-valid-code
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: asolokha at gmx dot com
Target Milestone: ---
gfortran 13.0.0 20220925 snapshot (g:77bbf69d2981dafc2ef3e59bfbefb645d88bab9d)
ICEs when compiling the following testcase w/ -fchecking, reduced from
test/Lower/forall/array-pointer.f90 from the flang 15.0.1 test suite:
module array_of_pointer_test
type ta
integer, POINTER :: ip(:)
end type ta
type tb
integer, POINTER :: ip(:,:)
end type tb
end module array_of_pointer_test
subroutine s5(y,z,n1,n2)
use array_of_pointer_test
type(tb) :: y(:)
type(ta), TARGET :: z(:)
forall (i=1:10)
y(i)%ip(1:n1,1:n2) => z(i)%ip
end forall
end subroutine s5
% gfortran-13.0.0 -fchecking -c cmpwv2kw.f90
cmpwv2kw.f90:11:13:
11 | subroutine s5(y,z,n1,n2)
| ^
Error: non-trivial conversion in 'mem_ref'
struct array02_integer(kind=4)
struct array01_integer(kind=4)
parm.12 = *_86;
cmpwv2kw.f90:11:13: internal compiler error: 'verify_gimple' failed
0xfbed2d verify_gimple_in_seq(gimple*)
/var/tmp/portage/sys-devel/gcc-13.0.0_p20220925/work/gcc-13-20220925/gcc/tree-cfg.cc:5237
0xcad8e5 gimplify_body(tree_node*, bool)
/var/tmp/portage/sys-devel/gcc-13.0.0_p20220925/work/gcc-13-20220925/gcc/gimplify.cc:17548
0xcadaaa gimplify_function_tree(tree_node*)
/var/tmp/portage/sys-devel/gcc-13.0.0_p20220925/work/gcc-13-20220925/gcc/gimplify.cc:17664
0xacb9e7 cgraph_node::analyze()
/var/tmp/portage/sys-devel/gcc-13.0.0_p20220925/work/gcc-13-20220925/gcc/cgraphunit.cc:676
0xace547 analyze_functions
/var/tmp/portage/sys-devel/gcc-13.0.0_p20220925/work/gcc-13-20220925/gcc/cgraphunit.cc:1240
0xacf1ed symbol_table::finalize_compilation_unit()
/var/tmp/portage/sys-devel/gcc-13.0.0_p20220925/work/gcc-13-20220925/gcc/cgraphunit.cc:2500