From 131c9affbde6ed68d2c42a0bea8839e1ba8a9f7e Mon Sep 17 00:00:00 2001 From: Piotr Trojanek Date: Wed, 19 May 2021 12:05:31 +0200 Subject: [PATCH] [Ada] Replace low-level membership tests with Is_Private_Type gcc/ada/ * exp_ch3.adb, exp_ch6.adb, sem_ch6.adb: Replace Ekind membership test in Private_Kind with a call to Is_Private_Type. --- gcc/ada/exp_ch3.adb | 4 ++-- gcc/ada/exp_ch6.adb | 2 +- gcc/ada/sem_ch6.adb | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/gcc/ada/exp_ch3.adb b/gcc/ada/exp_ch3.adb index ad6c7a71da32..ad82e5686097 100644 --- a/gcc/ada/exp_ch3.adb +++ b/gcc/ada/exp_ch3.adb @@ -6000,7 +6000,7 @@ package body Exp_Ch3 is -- The parent type is private then we need to inherit any TSS operations -- from the full view. - if Ekind (Par_Id) in Private_Kind + if Is_Private_Type (Par_Id) and then Present (Full_View (Par_Id)) then Par_Id := Base_Type (Full_View (Par_Id)); @@ -6036,7 +6036,7 @@ package body Exp_Ch3 is -- If the derived type itself is private with a full view, then -- associate the full view with the inherited TSS_Elist as well. - if Ekind (B_Id) in Private_Kind + if Is_Private_Type (B_Id) and then Present (Full_View (B_Id)) then Ensure_Freeze_Node (Base_Type (Full_View (B_Id))); diff --git a/gcc/ada/exp_ch6.adb b/gcc/ada/exp_ch6.adb index c1409bf6ebe6..dbae76066718 100644 --- a/gcc/ada/exp_ch6.adb +++ b/gcc/ada/exp_ch6.adb @@ -3761,7 +3761,7 @@ package body Exp_Ch6 is -- because the object has underlying discriminants with defaults. if Present (Extra_Constrained (Formal)) then - if Ekind (Etype (Prev)) in Private_Kind + if Is_Private_Type (Etype (Prev)) and then not Has_Discriminants (Base_Type (Etype (Prev))) then Add_Extra_Actual diff --git a/gcc/ada/sem_ch6.adb b/gcc/ada/sem_ch6.adb index abe8060a7b18..b0db7fe0939f 100644 --- a/gcc/ada/sem_ch6.adb +++ b/gcc/ada/sem_ch6.adb @@ -8901,7 +8901,7 @@ package body Sem_Ch6 is end if; if not Has_Discriminants (Formal_Type) - and then Ekind (Formal_Type) in Private_Kind + and then Is_Private_Type (Formal_Type) and then Present (Underlying_Type (Formal_Type)) then Formal_Type := Underlying_Type (Formal_Type); @@ -11253,7 +11253,7 @@ package body Sem_Ch6 is -- If the entity is a private type, then it must be declared in a -- visible part. - if Ekind (T) in Private_Kind then + if Is_Private_Type (T) then return True; elsif Is_Type (T) and then Has_Private_Declaration (T) then -- 2.47.2