From fc473ce74c64fa0d5027aa4045579ec39d78a4c4 Mon Sep 17 00:00:00 2001 From: Piotr Trojanek Date: Wed, 10 Mar 2021 18:06:21 +0100 Subject: [PATCH] [Ada] Don't check No_Wide_Characters restriction for illegal types gcc/ada/ * sem_ch3.adb (Analyze_Private_Extension_Declaration): Check No_Wide_Characters restriction after rejecting illegal parent types. (Derived_Type_Declaration): Likewise. (Find_Type_Of_Subtype_Indic): Remove check for No_Wide_Characters restriction, which was done too early. --- gcc/ada/sem_ch3.adb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gcc/ada/sem_ch3.adb b/gcc/ada/sem_ch3.adb index 7194f35..8d25a97 100644 --- a/gcc/ada/sem_ch3.adb +++ b/gcc/ada/sem_ch3.adb @@ -5121,6 +5121,8 @@ package body Sem_Ch3 is goto Leave; end if; + Check_Wide_Character_Restriction (Parent_Type, Indic); + -- Perhaps the parent type should be changed to the class-wide type's -- specific type in this case to prevent cascading errors ??? @@ -17120,6 +17122,8 @@ package body Sem_Ch3 is Error_Msg_N ("null exclusion can only apply to an access type", N); end if; + Check_Wide_Character_Restriction (Parent_Type, Indic); + -- Avoid deriving parent primitives of underlying record views Build_Derived_Type (N, Parent_Type, T, Is_Completion, @@ -17979,10 +17983,6 @@ package body Sem_Ch3 is Typ := Entity (S); end if; - -- Check No_Wide_Characters restriction - - Check_Wide_Character_Restriction (Typ, S); - return Typ; end Find_Type_Of_Subtype_Indic; -- 2.7.4