<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">