[Ada] Take full view of private type
This allows to resolve the following: type Rec (<>) is private; type Arr (<>) is private; private type Arr is array (Positive range <>) of Natural; type Rec (L : Natural) is record F1 : Integer; F2 : Arr (1 .. L); end record; gcc/ada/ * sem_ch3.adb (Analyze_Subtype_Declaration): Use underlying type of Indic_Typ. (Constrain_Array): Ditto for T.
This commit is contained in:
parent
c21a0097b6
commit
27b2b83bd7
1 changed files with 3 additions and 1 deletions
|
@ -5978,7 +5978,7 @@ package body Sem_Ch3 is
|
|||
if Nkind (Subtype_Indication (N)) = N_Subtype_Indication then
|
||||
declare
|
||||
Indic_Typ : constant Entity_Id :=
|
||||
Etype (Subtype_Mark (Subtype_Indication (N)));
|
||||
Underlying_Type (Etype (Subtype_Mark (Subtype_Indication (N))));
|
||||
Subt_Index : Node_Id;
|
||||
Target_Index : Node_Id;
|
||||
|
||||
|
@ -13595,6 +13595,8 @@ package body Sem_Ch3 is
|
|||
T := Designated_Type (T);
|
||||
end if;
|
||||
|
||||
T := Underlying_Type (T);
|
||||
|
||||
-- If an index constraint follows a subtype mark in a subtype indication
|
||||
-- then the type or subtype denoted by the subtype mark must not already
|
||||
-- impose an index constraint. The subtype mark must denote either an
|
||||
|
|
Loading…
Add table
Reference in a new issue