https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114022
anlauf at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |ice-on-valid-code
Last reconfirmed| |2024-12-03
CC| |anlauf at gcc dot gnu.org
Ever confirmed|0 |1
Status|UNCONFIRMED |NEW
--- Comment #1 from anlauf at gcc dot gnu.org ---
Confirmed. This looks like the tip of a hornet's nest.
A possibly related smaller testcase (w/o type nesting):
program p
implicit none
type ty
complex :: cmp1(2)
end type ty
type(ty), parameter :: obj1 = ty([(2.,3.),(4.,5.)])
print *, obj1%cmp1(:)%re ! wrong output
! print *, obj1%cmp1%re ! ICE / inquiry ref (%re) not properly resolved
end
This prints here:
(2.00000000,3.00000000) (4.00000000,5.00000000)
(4.00000000,5.00000000) (1.444458457E-41,2.295747274E-41)
Setting a breakpoint in gfc_trans_transfer, it looks like the argument
passed to print is not simplified, although it could have been, and is
then misinterpreted. (The ICE'ing case is resolved differently, but why?)