aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPiotr Trojanek <trojanek@adacore.com>2021-03-10 18:06:21 +0100
committerPierre-Marie de Rodat <derodat@adacore.com>2021-06-17 10:32:14 -0400
commitfc473ce74c64fa0d5027aa4045579ec39d78a4c4 (patch)
tree23edaa09a4138b16c84b8767caa78507131000a4
parent4476d9345547473030a8a041d3178bb54ed49bef (diff)
downloadgcc-fc473ce74c64fa0d5027aa4045579ec39d78a4c4.zip
gcc-fc473ce74c64fa0d5027aa4045579ec39d78a4c4.tar.gz
gcc-fc473ce74c64fa0d5027aa4045579ec39d78a4c4.tar.bz2
[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.
-rw-r--r--gcc/ada/sem_ch3.adb8
1 files 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;