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

    <tr>
        <th>Summary</th>
        <td>
            [flang] compilation failed with "The left-hand side of a pointer assignment is not definable"
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

    <tr>
      <th>Reporter</th>
      <td>
          k-arrows
      </td>
    </tr>
</table>

<pre>
    Test code:
```console
$ cat map_any_type1.f90
module map_any_type
  implicit none

  type :: list_item
    character(:), allocatable :: key
    type(list_item), pointer :: next => null(), prev => null()
  end type list_item

 type, public :: map_any
    type(list_item), pointer :: first => null()
  end type map_any

contains

  subroutine append_list_item (this, item)
    class(map_any), intent(inout) :: this
    type(list_item), pointer, intent(in) :: item
 type(list_item), pointer :: tail
    if (associated(this%first)) then
 tail => this%first%prev
      tail%next => item
      item%prev => tail
      this%first%prev => item
    else
      item%prev => item
      this%first => item
    end if
  end subroutine append_list_item

end module map_any_type
```

Compilation result:
```console
$ gfortran -c map_any_type1.f90
$ flang-new -c map_any_type1.f90
error: Semantic errors in map_any_type1.f90
./map_any_type1.f90:22:7: error: The left-hand side of a pointer assignment is not definable
        item%prev => tail
 ^^^^^^^^^^^^^^^^^
./map_any_type1.f90:22:7: because: 'item' is an INTENT(IN) dummy argument
        item%prev => tail
 ^^^^^^^^^^^^^^^^^
./map_any_type1.f90:17:45: Declaration of 'item'
 type(list_item), pointer, intent(in) :: item
 ^^^^
./map_any_type1.f90:25:7: error: The left-hand side of a pointer assignment is not definable
        item%prev => item
 ^^^^^^^^^^^^^^^^^
./map_any_type1.f90:25:7: because: 'item' is an INTENT(IN) dummy argument
        item%prev => item
 ^^^^^^^^^^^^^^^^^
./map_any_type1.f90:17:45: Declaration of 'item'
 type(list_item), pointer, intent(in) :: item
 ^^^^
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzEVsGOozgQ_RrnUkpETCBw4NDb6Uhz6cv2vVWYInjH2Mg205u_XxlCQno7M2ntzoyEEomqevWqeDyMzsmDJipY8gdLdgvsfWNs8XWJ1po3tyhNdSxeyHkQpiIWP7Box6IHlkbjJYx2RtHpLt-AQA8tdq-oj6_-2NF6VefRGG5N1Su6io4BANl2SgrpQRs9gZ1CIQ1C4_gBlHT-VXpqpyCAaNCi8GQZz0IWzxl_BFTKCPRYqnPtVzpeqobePLvgjWWdkdqTnUo0_e2BxTsWP4HulQotTomWvn0QOeGTrkba7_ie4mPzR-j6UkkxNTut5bMca2ndRyTfU7mCH3-F0R6ldtf7dn1pTe-lJsCuI129nhkA45lvpAs0JkaXB6HQOcazqdHINnDVnvFMatN7xvOJ94Bz56zvgGYoMy3cty6PUl3ayjqMhM4ZIdFTdZ4vGdY6QOTgG9JTE5RqWvZ1ZhIkcUGGsRNP5hq6Vi6cdpjMxXTNDz5q8jEaKUc_wH7ffo59A1RXIOu5lr6jjrmMQurN1_1sHvOKR9N2UqGXRoMl1yt_h9kcamO9RQ1Lcct0QlqtUB-Wmt6-k0fWGhsU8ie1qL0UMNxxIPWtkhXj-3-H4gfOWfywDVhn0JeGQFHtlw2GJcqKwNSAZ3WONtyS9iAdaOOholrq4F_zJ_YjybDk6dPXnaOUJLB34QsAjG9HGttAFjV8eX55en5hPPvyHN6Xqm_bI6A99GGg38p_HbhvksB6R0KhHQVm6tkQd_nHXRb0ib0mv1Qitzj-LxJJfr5Efib_3y2Rs7stqiKu8jjHBRXrdJvlaZyts0VTxCmhyNdVxgk3G9ymmMZxhpgLxA1W8UIWPOJxFK_TdZRE62yF0TareFnlUZQmURaxTUQtSrVS6lu7MvawkM71VKTrzSZfKCxJueEEyHlwySHIOA8HQluEmmXZHxzbRGF0d0Hx0qvh6Dg4LEt2IGY2XqNUVMGb9A0wzv-LwDlf9FYVjfedG055e8b3B-mbvlwJ0zK-D5xOf8vOmr9IeMb3wySO8f0w6T8BAAD__-_KMAU">