<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/60316>60316</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
support for polymorphic types
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
mfvalin
</td>
</tr>
</table>
<pre>
compiler crashed with message
/dataCMC/my-llvm/flang/lib/Lower/CallInterface.cpp:854: not yet implemented: support for polymorphic types
is there a timeline estimate for said support (as well as C_LOC, LOC, ... support) ?
simple demo code :
```
module demo
use ISO_C_BINDING
implicit none
interface
subroutine BeStreamInit(stream, buffer) bind(C, name='BeStreamInit')
import :: C_PTR
implicit none
type(C_PTR), intent(IN), value :: stream, buffer
end subroutine
end interface
type :: c_bitstream
integer(C_INT64_T) :: accum
end type
type :: le_stream
type(c_bitstream) :: s
contains
procedure, PASS :: create => stream_create_le
end type
contains
subroutine stream_create_le(self, mem)
implicit none
class(le_stream), intent(INOUT) :: self
integer(C_INT32_T), dimension(*), intent(IN), target :: mem
type(C_PTR) :: t, m
t = transfer( LOC(self%s) , t)
m = C_LOC(mem)
call BeStreamInit(t, m)
end subroutine
end
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx8VV1vqzgQ_TXmxboRGELggYeULqtId9urbfcZGTMkXvkD2aZV_v3KDiGk6V4pCmI8c-bMmfFAreVHBVCh7RPaPkd0cidtKjl8UMFV1On-XDEtRy7AYGaoPUGPP7k7YQnW0iOg-BnFe0Sanjpa_1Uj0sjzDyE-JCLNIKg6ItII3iHS_NSfYBBpairEQTkwA2WwYeOI0n2xzVC6x0o7fAaHuRwFSFAOem-20zhq4_CgDR61OEttxhNn2J1HsDOD8M8tdicwgCl2XILgCjBYxyV1EKIt5f0Ch0hBLf4EITC1uG5_vtaI1Hh-bDYbfHVFpMQobS5JbGCHe5AaM90DRumcHuXx_AuvUvfT7HgxYDxZwIe317Zunw4vz4eXP68HHpMz7rDSChbjVaWrwRPqjJ6cL-wJ3pwBKg-KO0QKG148824aBq90iTuuekSKUI-iElD6jMjuPnCHSHnDD0yCOOneS1-3v97__nL8QNT3wacJvqT02Tx15WkdXmbLBxUTXGEfyC4ZQPWrIme7Nz6I4bNe8VjbcTeDLlA-4uiFKOr28PKeZ-37pZEhhDI2yRV-KOIbaAHtV-C53nXSG-48kJhp5ShX9hY2Gs2gnwz4un_t394W9gb8gPrupH_M2rQXYysWUvck7-FXY_EQTgoLYvA5JchVs78dOSaotYgUt6of-vn6z1rGgL2a15XgKQmC-_CeS1CWa4VIgcj-f4fEUXOEZfg831VHViN29XChrMXJS4idocqGC1Bc7vJc_9aGQJ9lpYIMMfPlL-4VYlSIr9dsznh1-m5cvW29lZa1EPVV2pdpSSOoknyX7bKyiJPoVPUkz_Oi3GVlWZYZoUkxMAp5mW5L2CVDGfGKxCSNE5IneZJnySYBmvQ0jSHLhrwgBcpikJSLjV-9G22OEbd2giqP0ySPBO1A2LDkCVHwicMhIsTvfFP5mB_ddLQoiwW3zt5QHHcCqt8u4Ggyojo5N1rfFNIg0hy5O03dhmn_FZg_BiHJaPS_wBwiTWBgEWkCw_8CAAD__xgA-PU">