Hello!
I have encountered a strange error raised by `ifort -check shape` with `ifort (IFORT) 2021.2.0 20210228`. Here is a minimal working example.
! testshape.f90
program testshape
implicit none
integer :: a(1, 2)
a(:, 1:2) = a(:, 1:2) ! This line is OK. Benchmark for the erroneous line.
a(:, [1, 2]) = a(:, [1, 2]) ! Do nothing ..., but it triggers the error.
end program testshape
Name this code as `testshape.f90`, and then compile it. Here is what happens on my machine (Ubuntu 20.04).
```
$ ifort -check shape testshape.f90
testshape.f90(7): error #5581: Shape mismatch: The extent of dimension 1 of array A is 1 and the corresponding extent of array <RHS expression> is 2
a(:, [1, 2]) = a(:, [1, 2]) ! Do nothing ..., but it triggers the error.
^
compilation aborted for testshape.f90 (code 1)
```
If we remove `-check shape` or replace it with `-warn shape`, then everything works.
Did I misunderstand array indexing or miscalculate something in the code? Thank you for your attention.
連結已複製
> The bug is not present in older versions of Ifort, such as 2013SP1 and 2016.0.8.
Thank you for the verification. It seems that `-check shape` has not been available until 2018:
Thank you.
