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

    <tr>
        <th>Summary</th>
        <td>
            [flang][debuginfo] Low bound of 1 is used for fixed size arrays.
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            flang
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
            abidh
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          abidh
      </td>
    </tr>
</table>

<pre>
    Consider the following program. 
```
PROGRAM minimal
  integer arr(-2:3)
 arr(:) = 1
  print *, arr
end
```

When stopped at line `print *, arr`, we can get the contents of the array correctly. But the lower bound is always set to 1 instead of what was provided in the source. This can be seen in the output of `ptype` command and also in the error when we try to get the value of `arr(-1)`.

```
(gdb) p arr
$1 = (1, 1, 1, 1, 1, 1)
(gdb) ptype arr
type = integer (6)
(gdb) p arr(-1)
no such vector element
```

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx0U02PmzwQ_jXmMlpkTIBw4JDdKO_lrVqtKvVs8ACujI38EZr--soO0a66WwkM8_V4nvngzslJI3akeiaM8V6KmTBGqnPGg5-N7ZIq6424dS9GOynQgp8RRqOU2aSeYLVmsnzJgdAzoSdS0_1J4rfXr_-9nr7AIrVcuLorAaT2OKEFbi1hxydGylNJWLub71pSnghrgZRnKB5xq5XaA2Enwl6SW9KjFp9efj9_zKjBebOuKIB7UFIjkJp-wKpp_NsQBq5hQp-IDkZ71N6BGZPMreU3GIy1OHh1y-E53B2V2dBCb4IWIB1wtfGbAxdhDBQgtfPIRYTZZu5h4y6W7ioFCpA6QTgT7IA5fJ-lS0n0CA5RP-wm-DX4CBHT97cVSU1hMMvCtYD0Kmce3mitsbBF9huCt7eYyIPWlauAO9LehCI2oKb5-9r9XVB2nEQfu7K-VZ-wQ5G6RNixiBX8x9F-wIgM3nCSFHEew0HYsf4sDN4nnIzagAvDDFccvLGAChfU_lMKmehK0ZYtz7ArGlbQsqmLNpu7krftWB4qRtlYNf1hrLGtmp7WvKiaemgy2THKDrQpqoJSWtQ5KykVjBdtS4_VIBg5UFy4VLlS1yU3dsqkcwG79nhsmkzxHpXbN21UXE_7ptku-j_1YXLkQJV03r0heOlVWs97RHUm1bPAPkxSj4ZUZ_jfbPvQmTGOmYPgUMBoLIzyFwpw8vc-tS7PglXd7P3q0nJdCLtM0s-hzwezEHaJ1-6fp9Wanzh4wi6JhSPscidy7difAAAA__9uJUNB">