[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:
Ed Schonberg 2020-12-14 13:54:28 -05:00 committed by Pierre-Marie de Rodat
parent 02ba09894f
commit c3b77813ee
1 changed files with 8 additions and 0 deletions

View File

@ -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;