<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/72083>72083</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[Flang] Compilation error when associating a pointer component in an intent(in) argument
</td>
</tr>
<tr>
<th>Labels</th>
<td>
flang:frontend
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
ohno-fj
</td>
</tr>
</table>
<pre>
```
Version of flang-new : 18.0.0(1c876ff5155c4feeb2b2885eb3e6abda17c4b7f4)
```
A compilation error occurs at a `pointer` assignment statement if the pointer is a component of a dummy argument with `intent(in)` attribute.
The following are the test program, Flang-new, Gfortran and ifort compilation result.
Mf0004_.f90:
```fortran
PROGRAM MAIN
IMPLICIT NONE
TYPE IDLL_NODE_T
TYPE (IDLL_NODE_T), POINTER :: PREV
END TYPE IDLL_NODE_T
TYPE (IDLL_NODE_T), POINTER :: NODE_AFTER
ALLOCATE(NODE_AFTER)
CALL TEST(NODE_AFTER)
DEALLOCATE(NODE_AFTER)
CONTAINS
SUBROUTINE TEST(NODE_AFTER)
TYPE (IDLL_NODE_T), POINTER, INTENT(IN) :: NODE_AFTER
NODE_AFTER%PREV => NULL()
END SUBROUTINE TEST
END PROGRAM MAIN
```
```
$ flang-new Mf0004_.f90
error: Semantic errors in Mf0004_.f90
./Mf0004_.f90:15:5: error: The left-hand side of a pointer assignment is not definable
NODE_AFTER%PREV => NULL()
^^^^^^^^^^^^^^^^^^^^^^^^^
./Mf0004_.f90:4:37: Declaration of 'prev'
TYPE (IDLL_NODE_T), POINTER :: PREV
^^^^
./Mf0004_.f90:15:5: because: 'node_after' is an INTENT(IN) dummy argument
NODE_AFTER%PREV => NULL()
^^^^^^^^^^^^^^^^^^^^^^^^^
./Mf0004_.f90:14:48: Declaration of 'node_after'
TYPE (IDLL_NODE_T), POINTER, INTENT(IN) :: NODE_AFTER
^^^^^^^^^^
$
```
```
$ gfortran Mf0004_.f90
$
```
```
$ ifort Mf0004_.f90
$
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzMVl1vozoQ_TXOy6gRmO8HHtiErCKlpErpSvepMmAHr4gd2War_fdXhqQlabs3lfbhSik1Hvt4zjBnxkRrvheUpij4hoLljPSmlSqVrZB37Oesks3vFIXO6ecskZP9oEpzKUAyYB0R-ztBXwB5Gbjx3Jk7CMduHUchY4EbBLXPKK1wheM4oJVHQ1I1xI1qv4qYj3AyQl6dMD4zqOXhyDti7GlUKalA1nWvNBADBFDoHCUXhioUOjASOVBhQBti6DDiDExL4bQMuAYygEphrZIBgaY_HH4DUft-2PHCTWuR7QZhEI65sF7aA4xRvOoNnU-dLFsKTHadfOFiD0TR4UBDtYGjkntFDggvYHWOk335zqQyigggogFuXy6IKqr7zlwccs8cx_Gf5yxxkJddheyENs4-7Lbfd9k93GfrYpwBWN8_bNaLdQnFtsjPk-U_Dzmsl5vNc7Fd5s_leR5OJoTjqRUn1vOH7boo85392PZ7P-zyH6d9ebH8FPJmvMGWrcp8NyUP2WazXWRljnA8WXFOHYBFttlAmT-WnyxY5n9GGJ-LbVFm6-LxjPr49G23fSrXRf4n7P_kZod2UFiEdYFw8hlbG_rpEYENLyBvibwciqfNBuF4wtpG_NrHwWQN79PgQ4VdT2J_ouhp0g3mQYHW80d6IMLwetSkBi7eL54jvLpMWzdAXmb_4BXIiqejzNy1VgqaN3TU5FmvE01zDUIaaCjjglQdneTrF6KGgvyv_T6h6SMv8yLLbknrjqhR1JIBwtFR0V8IR7fmzgc6u8WDt0BXtCa9pnaIcCRkQ58Js_USR0MtFNepeVkM_7cxdm2Q_fjjIF_QnFL4m1q9xW-E_a9pb39uDO_U9GWosa3cjDNrUq9JvITMaOqGSRIHHnb8WZu6YeDFpPZdlnhxQlgTB4QFESW4rmI38mY8xQ72XNf1nACHvj9vgiRsgqpywsavAsyQ79AD4d28634d5lLtZ1zrnqYRdmJv1pGKdnq4fGA81B7kZUxJ230bhLG9kqjUbr2r-r1GvtNxbfQbmOGmGy4vQ4tFwRIW7y4NLy0VtpbImhMztOnXCvN2GeC2H8Nl239VwqxXXdoac9Q2IfAK4dWem7av5rU8ILyy7pz-3R2V_Elrg_BqIKoRXg1c_w0AAP__m3aNNQ">