aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/freeze.adb
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/freeze.adb')
-rw-r--r--gcc/ada/freeze.adb33
1 files changed, 16 insertions, 17 deletions
diff --git a/gcc/ada/freeze.adb b/gcc/ada/freeze.adb
index 3d366fd..0d3c131 100644
--- a/gcc/ada/freeze.adb
+++ b/gcc/ada/freeze.adb
@@ -1439,27 +1439,27 @@ package body Freeze is
end loop;
end;
- -- We add finalization masters to access types whose designated types
- -- require finalization. This is normally done when freezing the
- -- type, but this misses recursive type definitions where the later
- -- members of the recursion introduce controlled components (such as
- -- can happen when incomplete types are involved), as well cases
- -- where a component type is private and the controlled full type
- -- occurs after the access type is frozen. Cases that don't need a
- -- finalization master are generic formal types (the actual type will
- -- have it) and types with Java and CIL conventions, since those are
- -- used for API bindings. (Are there any other cases that should be
- -- excluded here???)
+ -- We add finalization collections to access types whose designated
+ -- types require finalization. This is normally done when freezing
+ -- the type, but this misses recursive type definitions where the
+ -- later members of the recursion introduce controlled components
+ -- (such as can happen when incomplete types are involved), as well
+ -- cases where a component type is private and the controlled full
+ -- type occurs after the access type is frozen. Cases that don't
+ -- need a finalization collection are generic formal types (the
+ -- actual type will have it) and types with Java and CIL conventions,
+ -- since those are used for API bindings. (Are there any other cases
+ -- that should be excluded here???)
elsif Is_Access_Type (E)
and then Comes_From_Source (E)
and then not Is_Generic_Type (E)
and then Needs_Finalization (Designated_Type (E))
- and then No (Finalization_Master (E))
+ and then No (Associated_Collection (E))
and then Convention (Designated_Type (E)) /= Convention_Java
and then Convention (Designated_Type (E)) /= Convention_CIL
then
- Build_Finalization_Master (E);
+ Build_Finalization_Collection (E);
end if;
Next_Entity (E);
@@ -2036,7 +2036,7 @@ package body Freeze is
Next_Entity (Comp);
end loop;
- -- Deal with pragma Bit_Order setting non-standard bit order
+ -- Deal with Bit_Order aspect specifying a non-default bit order
if Reverse_Bit_Order (Rec) and then Base_Type (Rec) = Rec then
if not Placed_Component then
@@ -2304,9 +2304,8 @@ package body Freeze is
elsif Inside_A_Generic and then External_Ref_In_Generic (Test_E) then
return No_List;
- -- AI05-0213: a formal incomplete type does not freeze the actual.
- -- In the instance, the same applies to the subtype that renames
- -- the actual.
+ -- AI05-0213: A formal incomplete type does not freeze the actual. In
+ -- the instance, the same applies to the subtype renaming the actual.
elsif Is_Private_Type (E)
and then Is_Generic_Actual_Type (E)