<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/62038>62038</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[flang] Definitions of an array using subscript triplet of derived type is incorrect
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
ohno-fj
</td>
</tr>
</table>
<pre>
```
Version of flang-new : 17.0.0(633146093c4ea78dc8f56a27006fe4eed84be370)
```
Definitions of an array using subscript triplet of derived type are incorrect.
The following definitions are not correctly applied:
```
v(1:2)%a(2,3)=2
```
There is no problem if you change the definition as follows:
```
v(1)%a(2,3)=2
v(2)%a(2,3)=2
```
The following are the test program, results of flang-new, gfortran and ifort compilation and execution.
snggp155_4.f90:
```fortran
subroutine sub
type x
integer, DIMENSION(2, 3) :: a
end type x
type(x),target::v(3)
v(1)%a=3; v(2)%a=3; v(1:2)%a(2,3)=2
write(6,*) "v(1)%a = ", v(1)%a
write(6,*) "v(2)%a = ", v(2)%a
write(6,*) "v(1:2)%a(2, 3) = ", v(1:2)%a(2, 3)
write(6,*) "v(1)%a(2, 3) = ", v(1)%a(2, 3)
write(6,*) "v(2)%a(2, 3) = ", v(2)%a(2, 3)
end subroutine sub
program main
call sub
end program main
```
```
$ flang-new -flang-experimental-exec snggp155_4.f90; ./a.out
v(1)%a = 3 3 3 3 2 3
v(2)%a = 3 3 3 3 2 3
v(1:2)%a(2, 3) = 2 2
v(1)%a(2, 3) = 3
v(2)%a(2, 3) = 3
$
```
```
$ gfortran snggp155_4.f90; ./a.out
v(1)%a = 3 3 3 3 3 2
v(2)%a = 3 3 3 3 3 2
v(1:2)%a(2, 3) = 2 2
v(1)%a(2, 3) = 2
v(2)%a(2, 3) = 2
$
```
```
$ ifort snggp155_4.f90; ./a.out
v(1)%a = 3 3 3 3 3
2
v(2)%a = 3 3 3 3 3
2
v(1:2)%a(2, 3) = 2 2
v(1)%a(2, 3) = 2
v(2)%a(2, 3) = 2
$
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzUVk1zozgQ_TXi0mVKSEDwgUMmXlfNYWcPO7XXLQEN1pQsUZLIx7_fEpAJdnAc1-welqQwEt1Pr1-3GgnnZKcRS5J9IdkuEoM_GFuagzab9kdUmealJDmd_-mO0Pu_0DppNJgWWiV0t9H4BITfQ3IX05gSVuScJ2lOt7xOUdwVTV20WS7YHaV5iyliU6QV8jtK2HaCPFthuu-wlVp6abQLawkNwlrxAoOTugM3VK62svfgrewV-mDToJWP2IB_6RGERZC6NtZi7eMl8vcDQmuUMk8BqVmsE3y08TB7qRcQfa8kNoTfr1KFR8KKhPB7FoJhmSCsYIQ98DDkO7bq9P2AgZsDbaC3plJ4BNnCixmgPgjdIfgDLniBcDNfd5HHTOQDEpPJLTzX1AoKBXYenQ_kOyuOhD2ARTco706qIsx3rbHehuTpBmQYQG2OvVRiikw3gM9YD2F0kiSnu65PsuzvNG639H3cM-5sPFTWDF5qDIXxGu9YBs-vIwCQ2mOHNvDaff39t29_fv3j2ywEBCVCGYdKFq8-qJtTlDAgrHgeVXzwwnboJ6cgLv9Z0Wf54DtO-JfTBCzmrhfQBPpkpQ_L54Q9EHY_MmZsuRK8XYTvwtsQ2wmXmd9lrFcm5wjs0wgr8Uz6rrBat_x0wGfwl8N-D_4JCa6hX6Y-3UP9rNXmdJ-3DxyFnOsYaqHUm1lwf2-0ukvPJ1m66M6b6RGfe7TyiNoLtQm7Ds432ReICduL2Az-pL-tFhfw-Y8BX1izm6yvlAowYCtMVvOyyuJDS8LS2yT92c1-Tbi3KwiyHF1_ZtelvhXyEvy13Cy8LiJ8kIW1SNbT9Q785sRNX55_L2vL54uyLr48_13uPlzk_5fBqCl5s-VbEWGZ5EWSUJYVWXQoM06rtCqSImlZUW0F1mnT1jSpeda0aYORLBllnKYJpWmWsyyutmndVm3KapHlVZWRlOJRSBUr9XiMje0i6dyAZc4oLyIlKlRuPAczFprm-DL0-mwX2TL4bKqhcySlSjrv3lC89Go8QI9dlmQ7-NWjq3RvJ9dosKo8eN-PZz-2J2zfSX8Yqrg2R8L2gcb8s-mt-YG1J2w_kneE7cfg_gkAAP__FP_rhQ">