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

    <tr>
        <th>Summary</th>
        <td>
            [Flang] Compilation error when is_contiguous intrinsic procedure is used to define a variable
        </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(74b56c7eb807e2ba54bd7a2bcfda5d0bceff1c0c)/AArch64
```

When `is_contiguous` intrinsic procedure is used in initialization, a compilation error occurs.  
The above program is `snggt825_2.f90`

For the following line
```
 logical,parameter::a03=is_contiguous(array(:,:,:)(1:4))
```
The following changes result in successful compilation:
```
 logical::a03
  a03=is_contiguous(array(:,:,:)(1:4))
```
The above program is `snggt825_3.f90`


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

snggt825_2.f90:
```fortran
subroutine s0
 character(5) :: array(3,2,4)
 logical,parameter::a03=is_contiguous(array(:,:,:)(1:4))
  if (a03) print *,2003
end subroutine s0

program main
  call s0
  print *,'pass'
end program main
```

```
$ flang-new snggt825_2.f90
error: Semantic errors in snggt825_2.f90
./snggt825_2.f90:3:26: error: Must be a constant value
 logical,parameter::a03=is_contiguous(array(:,:,:)(1:4))
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
$
```

```
$ gfortran snggt825_2.f90; ./a.out
 pass
$
```

```
$ ifx snggt825_2.f90; ./a.out
 pass
$
```

snggt825_3.f90:
```fortran
subroutine s0
 character(5) :: array(3,2,4)
! logical,parameter::a03=is_contiguous(array(:,:,:)(1:4))
  logical::a03
 a03=is_contiguous(array(:,:,:)(1:4))
  if (a03) print *,2003
end subroutine s0

program main
  call s0
  print *,'pass'
end program main
```

```
$ flang-new snggt825_3.f90
 pass
$
```

```
$ gfortran snggt825_3.f90; ./a.out
 pass
$
```

```
$ ifx snggt825_3.f90; ./a.out
 pass
$
```

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsVs2O4zYTfBr60hiBaurHOujg9Xz6TjllkRwXFNWSuKBJg6RmdvP0AWV7fjzOAMlm9hRAkG1BrO6uqm63DEFPlqhl5SdW3m_kEmfnWzdbdzd-3fRu-N6yip8vfs_47jfyQTsLboTRSDvdWXoEJnaAPOMZZ7iti76sVE39lteEvSyLfqgl9mocZDnwXtE45oorhg3Dbrfzaq6KE_hVrNP995kssIrr8EU5G_W0uCWwioO20WsbtIKjd4qGxRPoAEugAbQFbXXU0ug_ZNTOMtyDBOUOR23WB0DeOw9OqcWHDOAU7PNMIHv3QAlz8vKQEFnFg52muMXyC2Zjc51h5zzEmWB0xrhHbScw2tLNksC4SStpGO6P0ssDRfJM7JjYSS6YuH9dJG6l9_I7w216B_cv7g3Dbc7Erli_NjeDfX6Vk5qlnSiAp7CYmBgKi1IUwriYl8Qk-HdTf0r39Bg-KPN3ZRA3ZLhVtPS0ShMpxAtWskJ38W768f_R-eilBWkH0OO3V2xgR99ILatlTtRlL8NdGeMNd2fo88tL790StSUIF1bVLL1UyQa4LRk2cOIXLvwJhntkuC-euPpYDwHoEdIpLlI2R69tBIbpEPKL6GQHuFHM6X6R7CC1vWAqacxzza9QGdZHGQLD-hn7LcTN0XD9EIsXQ-lKmRN26vnE7q90kDZqdZoCYe2GG-9nDLs3CgsmdlgllCe4X5YQoad1wtgQpY3wIM1CP0UwVv7vY68LuX9PienSVdcEfoJEq8zcEs8VrPr_syipXf-9AFfz5Wd0M8P8oxv6Lwb3f9Pi1rQQz93_I758637x0e7_gQCboRVDIxq5oTavRY5bntfFZm6HraQaa6zKsRZVyZXIh7wvG6xRVKIcNrpFjkWe5xwFb0SR9UVVk1QlNopKUZas4HSQ2mTGPBwy56eNDmGhNs_Lqi43RvZkwrqAIq5yMLEbvbOR7MAQ01rq23T2rl-mwApudIjhGS3qaNYFdv1LZ-U97N8seY9phXxl9HeXx-hgoDFZVcKD9Fr2hjaLN-0c4zGszdAx7CYd56XPlDsw7FI-54-7o3dfSUWG3VpqYNidq31o8c8AAAD__4CAMEc">