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

    <tr>
        <th>Summary</th>
        <td>
            [flang][debug] Bound of allocatable array are wrong.
        </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>
    With the following program compiled with clang and stopped at line 8, this is output we get from the GDB.

```
ptype min::alloc2d
type = integer, allocatable (-1:3,-2:5)
```
which is clearly wrong. The expected output is `type = integer, allocatable (-1:1,-2:2)`

```
module min
  INTEGER, ALLOCATABLE, TARGET :: alloc2d(:, :)
end module min

PROGRAM minimal
  use min
 ALLOCATE(alloc2d(-1:1, -2:2))
  IF (ALLOCATED(alloc2d)) THEN
 alloc2d(:, :) = -1
    DEALLOCATE(alloc2d)
  END IF
END PROGRAM
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyMk91uozoQx5_G3IwSgYGEXHBBAsmp1NMeRZHOtcEDeGUwsk2zefuV-Wi7VVdaCRnPeDy_-Y88zBjR9IgpiY-EUlYK3hJKSZx7bLSt0unk8krFH-n_wrZgW4RaSanuom9g0KrRrINKdYOQyOHuYirJ-gZYz8FYNQzIgVmQokdICD2BbYUBYUCNdhgt3BEatFBr1U3ZL_lxS_yc-Nmy7vzlm8zBPgaETvQkzEiYMSlVRfl8Nh2RMAfRW2xQO9oUwCwrJQKhySYgYRYSetpQEmYxoYdvKfdWVK0rspLItHzAXau-2cKtRcCfA1YW-SpAGCA7_2_Zwcqmjr3yvi2iU3yUs9bJBnh6uRWX4upyZ8_Pr6fslh2fC2fesuuluMHcFFi7QhPnoKfJv0rFnsPX1PP63_X1cs3-dW7RMblSR_O5iAVcEJp8YN6lwYe2lQfwdHby14v555suDG7_FC9L7B8qnzq7CdaEAHnxXR3vxOIlh6fzbLn9ouxLmz2ehvwQHpiHabCnfhzu4iTx2jSpy7Deh0GQUB76ccmCCA97WkZltPcR0RMp9Wnk7_1DEEWHKNlGYemHFY9qP8C62u9I5GPHhNxK-dZtlW48YcyI6SEJdjtPshKlWaauduOyTJ1OXfymHBtDIl8KY81HBiusnEZ1vhHnJD5yLEe3haMaew6q_u3RMa3ZA5jG5f16o5Zpa-1gpraeCT03wrZjua1UR-jZoZbfZtDqB1aW0PNUuSH0PBf_ltJfAQAA__8H_jcn">