From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1914) id 4BD2F3838200; Tue, 5 Jul 2022 08:31:20 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 4BD2F3838200 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Pierre-Marie de Rodat To: gcc-cvs@gcc.gnu.org Subject: [gcc r13-1497] [Ada] Couple of small cleanups for Cloned_Subtype X-Act-Checkin: gcc X-Git-Author: Eric Botcazou X-Git-Refname: refs/heads/master X-Git-Oldrev: a2eaf87ffeaee689e431a3c85b001208d6705421 X-Git-Newrev: d2672ffea0a478b265f5ed0239723c8ba54e8d24 Message-Id: <20220705083120.4BD2F3838200@sourceware.org> Date: Tue, 5 Jul 2022 08:31:20 +0000 (GMT) X-BeenThere: gcc-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 05 Jul 2022 08:31:20 -0000 https://gcc.gnu.org/g:d2672ffea0a478b265f5ed0239723c8ba54e8d24 commit r13-1497-gd2672ffea0a478b265f5ed0239723c8ba54e8d24 Author: Eric Botcazou Date: Thu Jun 9 00:24:34 2022 +0200 [Ada] Couple of small cleanups for Cloned_Subtype No functional changes. gcc/ada/ * exp_util.adb (Make_Subtype_From_Expr): Do not set field to Empty. * sem_util.adb (Visit_Itype): Remove ??? comment. Diff: --- gcc/ada/exp_util.adb | 9 ++++----- gcc/ada/sem_util.adb | 3 +-- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/gcc/ada/exp_util.adb b/gcc/ada/exp_util.adb index eaf7ebf8561..8557e4bb4bd 100644 --- a/gcc/ada/exp_util.adb +++ b/gcc/ada/exp_util.adb @@ -10213,8 +10213,8 @@ package body Exp_Util is elsif Is_Class_Wide_Type (Unc_Typ) then declare - CW_Subtype : Entity_Id; - EQ_Typ : Entity_Id := Empty; + CW_Subtype : constant Entity_Id := + New_Class_Wide_Subtype (Unc_Typ, E); begin -- A class-wide equivalent type is not needed on VM targets @@ -10237,11 +10237,10 @@ package body Exp_Util is Set_Etype (Unc_Typ, Base_Type (Full_View (Etype (Unc_Typ)))); end if; - EQ_Typ := Make_CW_Equivalent_Type (Unc_Typ, E); + Set_Equivalent_Type + (CW_Subtype, Make_CW_Equivalent_Type (Unc_Typ, E)); end if; - CW_Subtype := New_Class_Wide_Subtype (Unc_Typ, E); - Set_Equivalent_Type (CW_Subtype, EQ_Typ); Set_Cloned_Subtype (CW_Subtype, Base_Type (Unc_Typ)); return New_Occurrence_Of (CW_Subtype, Loc); diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb index df9fed1c159..edb948234ab 100644 --- a/gcc/ada/sem_util.adb +++ b/gcc/ada/sem_util.adb @@ -25146,8 +25146,7 @@ package body Sem_Util is end if; -- If a record subtype is simply copied, the entity list will be - -- shared. Thus cloned_Subtype must be set to indicate the sharing. - -- ??? What does this do? + -- shared, so Cloned_Subtype must be set to indicate this. if Ekind (Itype) in E_Class_Wide_Subtype | E_Record_Subtype then Set_Cloned_Subtype (New_Itype, Itype);