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.

Reply via email to