[Ada] Extend range type in search primitives of formal vectors
authorClaire Dross <dross@adacore.com>
Tue, 13 Aug 2019 08:06:12 +0000 (08:06 +0000)
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>
Tue, 13 Aug 2019 08:06:12 +0000 (08:06 +0000)
2019-08-13  Claire Dross  <dross@adacore.com>

gcc/ada/

* libgnat/a-cfinve.adb, libgnat/a-cofove.adb (Find_Index,
Reverse_Find_Index): Use bigger type to avoid range check
failure at the last loop iteration.

From-SVN: r274331

gcc/ada/ChangeLog
gcc/ada/libgnat/a-cfinve.adb
gcc/ada/libgnat/a-cofove.adb

index e603f04da002f8ce70d8fad7b92b0c2dd3fd70df..892cbbf85e67da97b1287270681d4d4543ef2d6f 100644 (file)
@@ -1,3 +1,9 @@
+2019-08-13  Claire Dross  <dross@adacore.com>
+
+       * libgnat/a-cfinve.adb, libgnat/a-cofove.adb (Find_Index,
+       Reverse_Find_Index): Use bigger type to avoid range check
+       failure at the last loop iteration.
+
 2019-08-12  Dmitriy Anisimkov  <anisimko@adacore.com>
 
        * libgnat/g-socket.adb (Is_IPv6_Address): Check that no less
index 36df8e6c1f10692399eb0d2d7405382d73dea29b..a1871280ddeae9c479459d4e79a28a89d7b86762 100644 (file)
@@ -457,7 +457,7 @@ is
       Item      : Element_Type;
       Index     : Index_Type := Index_Type'First) return Extended_Index
    is
-      K    : Capacity_Range;
+      K    : Count_Type;
       Last : constant Index_Type := Last_Index (Container);
 
    begin
@@ -1277,7 +1277,7 @@ is
       Index     : Index_Type := Index_Type'Last) return Extended_Index
    is
       Last : Index_Type'Base;
-      K    : Capacity_Range;
+      K    : Count_Type'Base;
 
    begin
       if Index > Last_Index (Container) then
index c848ad839905a183d3e52a494f8402ea42406dac..3a10d32287402074b0df799ef9397e1c4510c108 100644 (file)
@@ -378,7 +378,7 @@ is
       Item      : Element_Type;
       Index     : Index_Type := Index_Type'First) return Extended_Index
    is
-      K    : Capacity_Range;
+      K    : Count_Type;
       Last : constant Index_Type := Last_Index (Container);
 
    begin
@@ -1147,7 +1147,7 @@ is
       Index     : Index_Type := Index_Type'Last) return Extended_Index
    is
       Last : Index_Type'Base;
-      K    : Capacity_Range;
+      K    : Count_Type'Base;
 
    begin
       if Index > Last_Index (Container) then