[Ada] Crash on predicated constrained out_parameter
gcc/ada/ * sem_util.adb (Build_Constrained_Itype): Inhibit the generation of predicate functions for this Itype, which is created for an aggregate of a discriminated type. The object to which the aggregate is assigned, e.g a writable actual parameter, will apply the predicates if any are inherited from the base type.
This commit is contained in:
parent
02ba09894f
commit
c3b77813ee
|
@ -2380,6 +2380,14 @@ package body Sem_Util is
|
|||
|
||||
Analyze (Subtyp_Decl, Suppress => All_Checks);
|
||||
|
||||
-- In addition, inhibit the generation of predicate functions for
|
||||
-- this subtype, because its declaration is not in a declarative
|
||||
-- list, and no predicates apply to the aggregate itself, but only
|
||||
-- to the object to which it may be assigned.
|
||||
|
||||
Set_Has_Dynamic_Predicate_Aspect (Def_Id, False);
|
||||
Set_Has_Predicates (Def_Id, False);
|
||||
|
||||
Set_Etype (N, Def_Id);
|
||||
end Build_Constrained_Itype;
|
||||
|
||||
|
|
Loading…
Reference in New Issue