From: Aleksandra Pasek <pa...@adacore.com>

gcc/ada/ChangeLog:

        * libgnat/a-strsup.adb (Super_Delete): Fix index check.
        * libgnat/a-stwisu.adb (Super_Delete): Likewise.
        * libgnat/a-stzsup.adb (Super_Delete): Likewise.

Tested on x86_64-pc-linux-gnu, committed on master.

---
 gcc/ada/libgnat/a-strsup.adb | 4 ++--
 gcc/ada/libgnat/a-stwisu.adb | 4 ++--
 gcc/ada/libgnat/a-stzsup.adb | 4 ++--
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/gcc/ada/libgnat/a-strsup.adb b/gcc/ada/libgnat/a-strsup.adb
index 8afde718581..3ac1a5ac724 100644
--- a/gcc/ada/libgnat/a-strsup.adb
+++ b/gcc/ada/libgnat/a-strsup.adb
@@ -755,7 +755,7 @@ package body Ada.Strings.Superbounded with SPARK_Mode is
       if Num_Delete <= 0 then
          return Source;
 
-      elsif From - 1 > Slen then
+      elsif From > Slen then
          raise Ada.Strings.Index_Error;
 
       elsif Through >= Slen then
@@ -784,7 +784,7 @@ package body Ada.Strings.Superbounded with SPARK_Mode is
       if Num_Delete <= 0 then
          return;
 
-      elsif From - 1 > Slen then
+      elsif From > Slen then
          raise Ada.Strings.Index_Error;
 
       elsif Through >= Slen then
diff --git a/gcc/ada/libgnat/a-stwisu.adb b/gcc/ada/libgnat/a-stwisu.adb
index e7e6b1f75c1..28ae887cc5a 100644
--- a/gcc/ada/libgnat/a-stwisu.adb
+++ b/gcc/ada/libgnat/a-stwisu.adb
@@ -753,7 +753,7 @@ package body Ada.Strings.Wide_Superbounded is
       if Num_Delete <= 0 then
          return Source;
 
-      elsif From > Slen + 1 then
+      elsif From > Slen then
          raise Ada.Strings.Index_Error;
 
       elsif Through >= Slen then
@@ -782,7 +782,7 @@ package body Ada.Strings.Wide_Superbounded is
       if Num_Delete <= 0 then
          return;
 
-      elsif From > Slen + 1 then
+      elsif From > Slen then
          raise Ada.Strings.Index_Error;
 
       elsif Through >= Slen then
diff --git a/gcc/ada/libgnat/a-stzsup.adb b/gcc/ada/libgnat/a-stzsup.adb
index fb1baf6c62c..5dcbadf3c03 100644
--- a/gcc/ada/libgnat/a-stzsup.adb
+++ b/gcc/ada/libgnat/a-stzsup.adb
@@ -754,7 +754,7 @@ package body Ada.Strings.Wide_Wide_Superbounded is
       if Num_Delete <= 0 then
          return Source;
 
-      elsif From > Slen + 1 then
+      elsif From > Slen then
          raise Ada.Strings.Index_Error;
 
       elsif Through >= Slen then
@@ -783,7 +783,7 @@ package body Ada.Strings.Wide_Wide_Superbounded is
       if Num_Delete <= 0 then
          return;
 
-      elsif From > Slen + 1 then
+      elsif From > Slen then
          raise Ada.Strings.Index_Error;
 
       elsif Through >= Slen then
-- 
2.43.0

Reply via email to