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

    <tr>
        <th>Summary</th>
        <td>
            [flang] issue in building cp2k 2025.1
        </td>
    </tr>

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

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

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

<pre>
    Following is the small reproducer that manifests the issue in building cp2k 2025.1 with flang

rep1.f90:

 MODULE M1
  TYPE T1
      REAL(KIND=4), DIMENSION(:, :), POINTER    :: ptr => Null()
   END TYPE T1

   TYPE O1
 TYPE(T1), POINTER           :: d => Null()
   END TYPE O1

   END MODULE

   MODULE M2
   USE M1,only : &
     o1_prv => o1

   public
 TYPE D1
         TYPE(o1_prv), PRIVATE        :: prv = o1_prv ()
 END TYPE D1
   END MODULE

   MODULE M3
   USE M2 , only : d1_prv => D1

   PUBLIC
   TYPE d1_ext
           TYPE(d1_prv), PRIVATE :: prv = d1_prv()
   END TYPE
   END MODULE

rep2.f90
PROGRAM MAIN
        use m3, only : d1_ext
end program

$ flang -c rep1.f90

$ flang -c rep2.f90
error: Semantic errors in /home/shivaram/reprod/rep2.f90
./m3.mod:8:38: error: Value in structure constructor of type 'REAL(4)' is incompatible with component 'prv' of type 'o1_prv'
  type(d1_prv),private::prv=d1_prv(prv=o1_prv(d=NULL()))
 ^^^^^^^^^^^^^^^^
././m2.mod:6:23: Declaration of 'prv'
  type(o1_prv),private::prv=o1_prv(d=NULL())
 ^^^
./m3.mod:8:45: error: Keyword 'd=' may not appear in a reference to a procedure with an implicit interface
 type(d1_prv),private::prv=d1_prv(prv=o1_prv(d=NULL()))
 ^
./m3.mod:8:47: error: Null pointer argument requires an explicit interface
 type(d1_prv),private::prv=d1_prv(prv=o1_prv(d=NULL()))
 ^^^^^^

The error is not reproduced when rep2.f90 is part of rep1.f90

</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJy8Vl1vqzgQ_TXOy6gR2EkTHnjglmQV3Tap2vRK-3RlYBK8azBrTHv771eDA03bqKt92EUo4AGfOWc-mMi2VccaMWbzb2yeTmTnSmPjtlTP0spKSivNJDPFa7w2WpsXVR9BteBKhLaSWoPFxpqiy9GCK6WDStbqgK3z76i27RBUDVmndEGb84b_CTzg82kIL8qVcNCyPrIgYUFisQmnhyhgIvEGuNulT7cruAtpAfvf71ew9_d0PKySW8aX3zfblIl0xnjE-A2km7vV9nGz2zK-JCR-A_2lf3i_22z3qwfaTUaRQOMsMJEysYJtpzVt4pF3sdqmZz69rV_veg50y_hyH37GPh0nF8U_Oti9OSCblz2ahihwv3x67CPCb0ytX8kHMH49BMWEPxv7PDg0b7hNl2mVD7whfQvjSRXjS795kPOw-ZHsVx-0nMBHP6OaUcuA_IUQcSaEAzkbpRTv-Kdv_O-fvt1ubs6SUIQ_8Zc7VzHqKC7p-CBgeOdzNi7Tt9jwvjiD5P5h99tDcgd3yWZ75r9rESrxUY3niHUBjTVHKysPx_jMlz5c5TAW_sVHg1u01lhCfcRK1k7l0Fta6i_G16WpkPH10LqMr31v-psBZMr4uhLTyhRMJNQfgn5gxP4hte_Y1tkud51FyE3tF8aCOYB7bRAYX5y6z7fdgr4Kqs5N1UinMo2-uWltaqwdbejDvTiHGOpt0UeRrB-S11j1LB361JFVpGPe_HKAWBZMpNun29tTRv0ZJMDmq393-hj1ceKnOF0zkXBB4Ukx19JKp0xNQkZV5wLM1wK-YPyO7oVczebvcvUdX1-MLYgFYVFwK_kKtXEgmwalpTxKsHhAi3WO4AxIKsMcC0psnyJZg6oarXLlQNUO7UHmSEz-u3RcUrZ4p4w-lNCYng9Ie-wqqiGLf3XKYkuc8df_y_lTkbAg2ZfoKVPxU9THYVjAS4n12Lz0vJHWUcmc9fqkiEURiUhOMA4XMx5GURjNJmWcz_lyLsIi44vFdcRzMRd5PsuCJQqZiex6omIaoYEIF8EyFOFsioeIR_mBZ2EkrmcyYrMAK6n0VOvnamrscdKP4jgU4XwRTbTMULf90OfcT2DOaf7bmDZcZd2xZbNAq9a1bxBOOd3_U_A75unX833SWR2XzjVtP3_XjK-PypVdNs0NfZ4I93S5aqz5A3PH-LqHbBlfn6g-x_zvAAAA___bWnXq">