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

    <tr>
        <th>Summary</th>
        <td>
            [Flang] Compilation error when a dummy argument defined as assumed-rank is used within kind intrinsic function
        </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 : 20.0.0(357bd61744bb8cc2b9b07447294fa977e5758550/AArch64
```
When a dummy argument defined as `assumed-rank` is used within `kind` intrinsic function, a compilation-time error occurs.

The following are the test program, Flang-new, Gfortran and ifort compilation/execution result.

FT_assumed_rank_ovr_gen_01_2.f90:
```fortran
MODULE mod4
  IMPLICIT NONE
  TYPE point
     REAL :: x, y
 contains
     procedure,pass::assign_point
     generic ::assignment(=) =>assign_point
  END TYPE point
CONTAINS
  recursive SUBROUTINE assign_point (px,ax)
    class(point), INTENT(inout) :: px
    REAL, INTENT(in) :: ax(..)
    px%x=10.99
    if(kind(ax)/=4)print*,201
 END SUBROUTINE assign_point
END MODULE mod4

program main
  use mod4
  REAL :: r,r1(3),r2(4,4)
  TYPE (point) :: a
 print*,"PASS"
end program main
```

```
$ flang-new FT_assumed_rank_ovr_gen_01_2.f90
error: Semantic errors in FT_assumed_rank_ovr_gen_01_.f90
./FT_assumed_rank_ovr_gen_01_.f90:14:13: error: Assumed-rank array cannot be forwarded to 'x=' argument
 if(kind(ax)/=4)print*,201
              ^^
$
```

```
$ gfortran FT_assumed_rank_ovr_gen_01_.f90; ./a.out
 PASS
$
```

```
$ ifort -diag-disable=10448 FT_assumed_rank_ovr_gen_01_2.f90
 PASS
$
```

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJycVV9vozgQ_zTOyyjIDBDgIQ80f06Rumm1Te90T5EBh3gX7Mg2bfrtTwbS0rR33b0IQRjGM7_5zT9mjKgk53MS3ZBoOWGtPSo9V0eppocfk1yVL3Myo8NFl4Rmf3JthJKgDnComaymkj8DCTJA6lGPEkyCKM7LmR-HYZ4nRYF5mtM4DGNMwwNL45hHcZREESW4zjJdHGdhb_nK0V9HLoFB2TbNCzBdtQ2XFkp-EJKXwAyQGWXGtA0vp5rJn2RGQRhoDS_hWdijkE7jp5Bl90VaLaQRBRxaWVihJMEFMChUcxI1c4KpFQ0HrrXSoIqi1cYbgHX33ZHDQdW1ehayAqY52CMHy42Fk1aVZo2zuL5w4l7-OChtNZPAZAnCvYz9EVzzMy9a9x80N21t3zlc7_ZDfHsX31496X3F5Z76e_QOKSVBdkXc4K6XfrtbPt6uoFHlwC_A5tv97Wax2cH2bru6CHd_36_gpIS0FwkAfF9lty6rLrFnF8rL8LFQ0jIhzUj3pFXBy1ZzgosTM6Y_1pfW_tpwxSXXooCxkksswYQES4IpuEew-uz4arv8gHZxt91lm-3DRUdzlzjxxOHh8eb73eNus13B2BgQTE4uJHYmmL4hK2oHHZPeNqYu6M12t9ruCCZCqtb24DpKTue3g46qK-WRpvOSeN47V859dCbB0qdeOpKLA8GkK1hMenS4JsEyJJiedIcqI7hA6g9HHB__EmWv4RQ-lEF_H0oWGibkBUFr-LtyGReBJrjQvuvunhuNBJOQ4CIchdYlZ8ThKwmDwigKgnifPTwQxP4blyV8xHQ1Ej4XYjiaRF82Te_NNblD9sAbJq0o-rY3IOR_WXgz4BFcf6UYZH7oboFz9OoxG40sYFqzFyiYlMpC7uaLfma65CVYBQTjc9cT8ev4G3j83UJ59yPRyl0X7n6P6Ooy0b4M_gYcR8xzjdOj6PL9_9z2s3NaClZNS2FYXvOufcIw-cWM_4L3STkPyjRI2YTP_RijJIhCP5kc5xgULOV5worYL4sZLWmIQeD7QVCmMY3TiZgjxZCmNEEMgyDxZiGlPi_DuEjjMk1TElLeMFF7df3UeEpXE2FMy-c-jeMEJzXLeW26JYzY1TIJsoNW0nKXY3SrWc_d2WneVoaEtBbGmjdrVti6W-Ld-iHREhZve2ZYac9f7dPxMr3epK7YPtmhk1bX86O1p27o45rguhL22OZeoRqCawdweExPWv3ghSW47mI3BNdD-E9z_CcAAP__A7J-dw">