<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/108001>108001</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [flang][debug] Derived types with allocatable members are not handled correctly.
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            flang
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
            abidh
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          abidh
      </td>
    </tr>
</table>

<pre>
    Currently, flang does not generate debug information for any allocatable member of the derived type.  Any members coming after that are also skipped. Similar issue exist with pointer members.

```
module m
 type t1
   integer :: v1
   integer, allocatable :: p(:)
   integer :: v2
 end type
 type(t1) :: var
end module

program test
  use m
  var%v1 = 2
  allocate(var%p(100))
  var%v2 = 3
  print *, var%v1, var%v2
END

and this what GDB as type of the var.

(gdb) ptype var
type = Type t1
    integer :: v1
End Type t1
```

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx0U81u6yoQfhq8GdXCJCTxwou0bu7ubu59AWzGNudgsACnJ29_BCZt2qpSFDMwP983M5_wXo0GsSH8mTAmOiUnwhjhbSHWMFnXpKuis_LWvKzOoQn6RtgLDFqYEaRFD8YGGNGgEwFBYreOoMxg3SyCsgYG60CYGwitbS-C6DTCjHOHDuwAYYoxTl1RQrgtWAKczS07eOjtrMwIYgjoIEwigHAIQnsL_rdaFpQl_KdmpYUD5f2KgH-UD_CmwgSLVSbG5WQloS2h5_x_oPmXzNnKNeLarIQEQpUtgJhnRAdkdya7M1y_vcSWPBLMjgthp3hk9Y-pWH5BszXgAQFhp1ARVr_7Cre9Rt8N8SOlxdnRiRkC-nAvt_oPUime8WsFZNfCve4ddqy2OUTQFaUR9AfuHMtS7O5-uzhlAhB2jvzv6R_Oucjrv-0jUBGpTsrDWxzoP-0zCL-1PC_EVbjPw2KnUXaxE0tye29EsiKi_78M7KeJvRr52ffLHhSy2cl6V4sCm-rIeH3gh0NdTE2FfE9lT_lwqHlXDz2yrpf7nqEU9ZGfCtUwyva0rmhF-Z7VJa_FsTry4UDlUJ0EJ3uKs1C61Po6l9aNRVrYpqInSqtCiw61z0JM6spCdE0MeOrW0ZM91coH_5EiqKCTercI3hL-nCRIeAvtg678JonvIvRJUVHDkzBSo4TeOod90LeyWJ1uphAWn5b4QthlVGFau7K3M2GXCCN_nhZnf2EfCLskWp6wS2Z2bdjfAAAA__-suVV0">