aboutsummaryrefslogtreecommitdiffstats
path: root/src/grt/grt-disp_rti.adb
diff options
context:
space:
mode:
Diffstat (limited to 'src/grt/grt-disp_rti.adb')
-rw-r--r--src/grt/grt-disp_rti.adb5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/grt/grt-disp_rti.adb b/src/grt/grt-disp_rti.adb
index 7aa97d1f8..b3b595668 100644
--- a/src/grt/grt-disp_rti.adb
+++ b/src/grt/grt-disp_rti.adb
@@ -226,13 +226,16 @@ package body Grt.Disp_Rti is
-- FIXME: need to update bounds.
else
for I in 1 .. Length loop
- Bounds2 := Bounds;
if I /= 1 then
Put (Stream, ", ");
end if;
if Index = Last_Idx then
+ -- Humm, not always an array, and BOUNDS may not be followed
+ -- by subelement bounds.
+ Bounds2 := Array_Layout_To_Bounds (Bounds);
Disp_Value (Stream, El_Rti, Ctxt, Obj, Bounds2, Is_Sig);
else
+ Bounds2 := Bounds;
Disp_Array_Value_1
(Stream, Arr_Rti, Ctxt, Index + 1, Obj, Bounds2, Is_Sig);
end if;