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:
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
^^
$
```
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
$
```
When a dummy argument defined as
assumed-rank
is used withinkind
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: