<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/65713>65713</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[Question] lldb not using lowerBound to set array index (but gdb do)
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
AmorZhao
</td>
</tr>
</table>
<pre>
To debug an array starting from a non-zero index:
```ST
my_arr : ARRAY [1..100] OF REAL;
my_arr[1] := 5.0;
```
Using the following IR:
```ll
%my_arr = alloca [10 x float], align 4, !dbg !21
call void @llvm.dbg.declare(metadata [10 x float]* %my_arr, metadata !14, metadata !DIExpression()), !dbg !21
%0 = getelementptr inbounds [10 x float], [10 x float]* %my_arr, i32 0, i32 0, !dbg !23
store float 5.000000e+00, float* %0, align 4, !dbg !23
...
!14 = !DILocalVariable(name: "my_arr", arg: 1, scope: !10, file: !1, line: 8, type: !15)
!15 = !DIDerivedType(tag: DW_TAG_typedef, name: "a", file: !1, baseType: !16)
!16 = !DICompositeType(tag: DW_TAG_array_type, baseType: !17, size: 320, elements: !18)
!17 = !DIBasicType(name: "float", size: 32, encoding: DW_ATE_float)
!18 = !{!19}
!19 = !DISubrange(count: 10, lowerBound: 1)
```
When debugging the elf with gdb, the array index have been set to 1, as shown below:
```
(gdb) p my_arr
$1 = {5, 3.0611365e-41, -1.01997049e+34, 4.59163468e-41, 0, 0, 1.46766414e+13, 3.0611365e-41, 0, 0}
(gdb) p my_arr[1]
$2 = 5
```
However, when using lldb for the same elf file, it seems that the lower bound have not been set:
```
(lldb) p my_arr[0]
(a) $0 = 5
(lldb) p my_arr
(a) $1 = ([0] = 5, [1] = 3.0611365E-41, [2] = -1.01997049E+34, [3] = 4.59163468E-41, [4] = 0, [5] = 0, [6] = 1.46766414E+13, [7] = 3.0611365E-41, [8] = 0, [9] = 0)
```
I'm not sure if this is supposed behaviour or it could be fixed by some way?
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyEVt-PozYQ_mucF2uRbTA_HvKQXDbtSSdV3dv21L6sDEzAlcGRbTab--srGwjZKLsXRYDH4_m-mbE_ENbKpgdYI75FfLcSg2u1WW86bf5thV6Vuj6vnzWuoRwaLHosjBFnbJ0wTvYNPhjdYYF73T_8BKOx7Gt4Q_EGI7JDZDNdUzL-vz-PBoy784swBnvPzdPT5h-M-JZGESUE8R3-Y4-fHjffULzF7xd4L--A4g2Kd5hHZPG5oFxD_2U9S9cCPmil9MmPvj59SFCpGQ8xfuG4w0IpXYlAkuA3fFBaOMR3iH3BQsmmx4l_RIzWZeNvjM5xKqEUftWyxighSr12UV02UQ2VEgYQyztwohbuXuzNQsJHXzwZpcmtZff18e1owFqpe8RyxIrwv08KMU5CXg04UNBB747OYNmXeuhrezfPX_KTMcPk3cMVdDxDW6cNjEF8-8IPENuSsGIMPkYmH1f3Ei2KoiUnSpOQVKjGN10J9bcwUpTK17kXHYS2MzZTZgHANN5M_bOt9HFyonTkI9XF4MdK9mGc-4E7L97cV_uKCV-Y7MDIV6ifvTfLnQh4ux8vz5vfXnyIGg4-2hVBMXG7RS-Fhecr0HQBDcMF84vujtpKB3dRwxkO2PeiZqEU8mcwxCzUYdokdvbJb9LNFuitsLKaYK9ymjrL3gcPsftK17KfCW6eH18m53cQ-QyBsq0fFyjbXc8XC4XvQ2lE33gGlR56Fxoc8lD6BGbrN_nU9OIT7fjRQj8KXzOLCKgDPknX4qYuwxZoYVLEIHy4Fa-AS4AeW3DY6XFfCYttq089LkHp04fiMw1ZHoIX-DiL3mRP6JhituU-ahyRlNI45fCQBJgHGhFaFBlJCn-i4nBqkogXNI2TNJ_dyOVCoyTN0jShifen8d2ok_tc7Dv0Rk2-sGSBJf-ksL_rE7xCEI2Tr_EQRFqpusQHbUJRrejGaocz4EXFYQvQWexa4YJL6CUOijXWvdfuUvtfF9nD3aRBrtLIhZ9ELCHv0rmz7nbB1CWWTxGn9ZOEzoZLnR-nOiO-ZfPkVScfL51EfBvPDktXr5Yn8yyZDPzWkM6GpfOPl84jvs0-Y5ffRiuuDJ-do6-IZV3ojh0MYHnArpUWS4vtcDxqCzUuoRWvUg8Ga-NbXelBeSs-yDc_fcZWd4BP4ozi_dTYVb2O6yIuxArWNC0SmhRJHK_aNcRFmhNIqroSkMEhqxKSEMrTMqYx8MNKrhlhMSlITjiJeRwxStKS8KI6EJ7TPEMJgU5IFYUXtjbNSlo7wDrlGY1XSpSgbPhiYqyHEw6TXtv4bmXWfs1DOTTWv_CldXaJ4qRT4VPrzwGs829qvhv3va_OdAwuEuX1w8vItcAglpeD8_KDa41YsRqMWrfOHb00I7ZHbN9I1w5lVOkOsb2Hnm4PR6P_g8ohtg-ELWL7kND_AQAA__8GDbHz">