Commit fc4039b9 by Ed Schonberg Committed by Arnaud Charlet

sem_ch3.adb (Complete_Private_Subtype): If the full view is a task or protected…

sem_ch3.adb (Complete_Private_Subtype): If the full view is a task or protected type with discriminants...

2004-10-26  Ed Schonberg  <schonberg@gnat.com>

	* sem_ch3.adb (Complete_Private_Subtype): If the full view is a task
	or protected type with discriminants, do not constrain the
	corresponding record type if the subtype declaration has no
	discriminant constraints. This can be the case in source code, or in
	the subtype declaration created to rename an actual type within an
	instantiation.

From-SVN: r89670
parent fe98a6aa
......@@ -7059,9 +7059,15 @@ package body Sem_Ch3 is
Set_Primitive_Operations (Full, Primitive_Operations (Full_Base));
Set_Class_Wide_Type (Full, Class_Wide_Type (Full_Base));
-- If this is a subtype of a protected or task type, constrain its
-- corresponding record, unless this is a subtype without constraints,
-- i.e. a simple renaming as with an actual subtype in an instance.
elsif Is_Concurrent_Type (Full_Base) then
if Has_Discriminants (Full)
and then Present (Corresponding_Record_Type (Full_Base))
and then
not Is_Empty_Elmt_List (Discriminant_Constraint (Full))
then
Set_Corresponding_Record_Type (Full,
Constrain_Corresponding_Record
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment