From: Piotr Trojanek Date: Wed, 10 Mar 2021 17:06:21 +0000 (+0100) Subject: [Ada] Don't check No_Wide_Characters restriction for illegal types X-Git-Tag: basepoints/gcc-13~6723 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fc473ce74c64fa0d5027aa4045579ec39d78a4c4;p=thirdparty%2Fgcc.git [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. --- diff --git a/gcc/ada/sem_ch3.adb b/gcc/ada/sem_ch3.adb index 7194f3546105..8d25a97fb0aa 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;