https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102891
--- Comment #2 from anlauf at gcc dot gnu.org ---
Adding to main the lines
print *, size (transfer ( w%z%re ,[1.0_dp]))
print *, size (transfer ([w%z%re],[1.0_dp]))
prints
4
2
whereas e.g.
print *, size (transfer ( real (w%z, kind (w%z%re)) ,[1.0_dp]))
print *, size (transfer ([real (w%z, kind (w%z%re))],[1.0_dp]))
prints
2
2
The issue is likely with the combination of array/array constructor and
the inquiry %re .
Possibly related: pr102599.
