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

    <tr>
        <th>Summary</th>
        <td>
            [Flang] Missing finalization call at intrinsic assignment.
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            bug,
            flang:runtime,
            flang
      </td>
    </tr>

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

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

<pre>
    Consider the following test case:
```
MODULE mDerivedModule

    TYPE :: tTypeDerived(k1)    ! (4)
        INTEGER, KIND :: K1
 INTEGER(4)   :: i
        INTEGER(4) :: j
        CONTAINS
 FINAL :: tTypeDerivedFinal
    END TYPE tTypeDerived

 CONTAINS
        SUBROUTINE tTypeDerivedFinal( o )
 TYPE(tTypeDerived(4)) :: o( :,:,: )
          print*, "in final."
 END SUBROUTINE tTypeDerivedFinal
END MODULE mDerivedModule


PROGRAM allocatedArrayDerived02
    USE mDerivedModule

    INTEGER(4) :: i

    TYPE(tTypeDerived(4)) :: derivedArray( 2,2,2 ) =&
        RESHAPE((/ (tTypeDerived(4)( i,(8 - i) ), i = 1, 8) /), (/ 2,2,2 /))

    TYPE(tTypeDerived(4)), ALLOCATABLE :: derivedArrayAlloc( :,:,: )


    ALLOCATE(derivedArrayAlloc( 3,3,3 ),&
        SOURCE=RESHAPE((/ (tTypeDerived(4)( (27 - i),i ), i = 27, 1, -1) /),&
 (/ 3,3,3 /)))

    derivedArrayAlloc = derivedArray


END PROGRAM allocatedArrayDerived02
```

Expected behavior:
>a.out
in final

Actual behavior: 
>a.out


It will work as expected if I 
1. remove the KIND type parameter from the derived type definition, OR
2. remove the static initialization from the variables.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUVUuT2jgQ_jXi0jWU3eZhDj54_MhSYSDF47BH2RagRNiUJDM7--u3JIvwTGZD2UK2vv5a_XVbTZXiu5qxiAxfyTDt0VbvGxmltOZMJMme1b2iqT6ipKkVr5gEvWewbYRo3nm9A82UhpIqRoKYeCnxYjLy3GUf3xbpZpbBIWWSn1j11lStYA5pRwCA9d_fMjAMQQx6_XFkDk0w_OETnBgMQR8IhgOCk4uh-U3n6-xLtiSYwNfpPD3zfPUd7Oe6tTVMHYD_gqaDOdD3W1CymK_j6Xzl3ubTeTx7tvGc11RcTLN52sV4E9y1CHfE7rfavC4Xm_V0nj1hxxAauKhh-AmGd_JZuS7hNMbKzDH5OcKDogBHyWtN0CCAIPIatsZnnyA6qAnpt9uzMIP6tAK68dty8WUZvwEVoimpZlUsJf1wRh5edrhZfVZOz1PJn1Xdp4pV3YLdjBEPCSb2hg6UEhzdqrfMVn_FltleOfzKRwjcZADDEF7MdGIzgQlwwwu-mYbd69ytOMbrTXRLkz8KzlDFs9kiidfx6yx7Fmts0vDbarn36AiN16dEAcHE3i7MB-FWi80yyUiQ_oGCBEMcO_kIJvxWQhybuRXyxb9R8uLcubje3VnSR1UfArNubmrkQRvzDfyv4r47OZ31P0dWalZBwfb0xBt5OWiDjPabVndP50_02jYudUvFtSU8M70epxreuRDw3sgfQBWws3u-hamz9vsg2aE5MdsL7JmrP44MjlTSA9NMwlY2B7volOnWK7blNde8qU1CFsuODW_YlKaal2BxVPB_qYFf-E5UcloIpvq9KgqqSTChPRb5Y5yMcDwYBL19VDDfo-G4osWQVaFXFl5Q0KFfFGw4Cis_7PEIPRz4HiJ63sDDfrAdDKnPfPRHOBiPt2TgsQPloi_E6dBv5K7HlWpZ5PtBMB72BC2YULZfIhbtzpyJpqBwK2i9I0Es21rzA7t7j2jaq4wM6UvR7hQZeIIrrS5uNNfCNuLcWgxTeONKmTZrU3tWo6RCANXAay15rXgJXRM_sFr3e60U0V7ro7KfbE4w33G9b4t-2RwI5saZ-3s5yuY7KzXB3AaoCOYuxlOE_wUAAP__71U70w">