From 9b6a2de07d471c634e63b0bc207fc8db14dd32ed Mon Sep 17 00:00:00 2001
From: Bob Duff <duff@adacore.com>
Date: Thu, 7 Jan 2021 14:16:21 -0500
Subject: [PATCH] [Ada] Do not "optimize" by converting Positive to Unsigned

gcc/ada/

	* exp_ch4.adb (Expand_Concatenate): Remove the non-optimization.
---
 gcc/ada/exp_ch4.adb | 8 --------
 1 file changed, 8 deletions(-)

diff --git a/gcc/ada/exp_ch4.adb b/gcc/ada/exp_ch4.adb
index 5b0ba1967300..a4af950dc091 100644
--- a/gcc/ada/exp_ch4.adb
+++ b/gcc/ada/exp_ch4.adb
@@ -3025,14 +3025,6 @@ package body Exp_Ch4 is
       if Is_Enumeration_Type (Ityp) then
          Artyp := Standard_Integer;
 
-      --  If index type is Positive, we use the standard unsigned type, to give
-      --  more room on the top of the range, obviating the need for an overflow
-      --  check when creating the upper bound. This is needed to avoid junk
-      --  overflow checks in the common case of String types.
-
-      elsif Istyp = Standard_Positive then
-         Artyp := Standard_Unsigned;
-
       --  For modular types, we use a 32-bit modular type for types whose size
       --  is in the range 1-31 bits. For 32-bit unsigned types, we use the
       --  identity type, and for larger unsigned types we use a 64-bit type.
-- 
GitLab