Issue 107782
Summary [Flang] Compilation error when a dummy argument defined as assumed-rank is used within kind intrinsic function
Labels flang:frontend
Assignees
Reporter ohno-fj
    ```
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
$
```

_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to