-- for the function case.
-- Returns_By_Ref (Flag90)
--- Defined in subprogram type entities and functions. Set if a
--- function (or an access to function type) returns a result by
--- reference, either because its return type is a by-reference-type or
--- because said function explicitly uses the secondary stack.
+-- Defined in subprogram type entities and functions. Set if a function
+-- (or an access-to-function type) returns a result by reference, either
+-- because its return type is a by-reference-type or because the function
+-- explicitly uses the secondary stack.
-- Reverse_Bit_Order (Flag164) [base type only]
-- Defined in all record type entities. Set if entity has a Bit_Order
function Max_Aggregate_Size
(Typ : Entity_Id;
Default_Size : Nat := 5000) return Nat;
- -- Return the max size for a static aggregate for the given Typ.
- -- Return Default_Size if no other special criteria triggers.
+ -- Return the max size for a static aggregate of the given Typ.
+ -- Return Default_Size if no other special criteria trigger.
function Packed_Array_Aggregate_Handled (N : Node_Id) return Boolean;
-- Given an array aggregate, this function handles the case of a packed
Rewrite (N,
Make_If_Expression (Loc, New_List (
- -- Generate a check for zero sized things like a null record with
+ -- Generate a check for zero-sized things like a null record with
-- size zero or an array with zero length since they have no
-- opportunity of overlapping.
- -- Without this check a zero-sized object can trigger a false
- -- runtime result if its compared against another object
- -- in its declarative region due to the zero-sized object having
+ -- Without this check, a zero-sized object can trigger a false
+ -- runtime result if it's compared against another object in
+ -- its declarative region, due to the zero-sized object having
-- the same address.
Make_Or_Else (Loc,
New_Occurrence_Of (Standard_False, Loc),
- -- Non-size zero overlap check
+ -- Non-zero-size overlap check
Make_If_Expression (Loc, New_List (
Cond,
-- Warn when an actual is a fixed-point with user-
-- defined promitives. The warning is superfluous
- -- if the fornal is private, because there can be
+ -- if the formal is private, because there can be
-- no arithmetic operations in the generic so there
-- no danger of confusion.
-- Ada 2020: Verify that shared variable control aspects (RM C.6)
-- that may be specified for the formal are obeyed by the actual.
- -- If the fornal is a derived type the aspect specifications must match.
+ -- If the formal is a derived type the aspect specifications must match.
-- NOTE: AI12-0282 implies that matching of aspects is required between
-- formal and actual in all cases, but this is too restrictive.
-- In particular it violates a language design rule: a limited private
-- indefinite formal can be matched by any actual. The current code
- -- reflects an older and more permissve version of RM C.6 (12/5).
+ -- reflects an older and more permissive version of RM C.6 (12/5).
procedure Check_Shared_Variable_Control_Aspects is
begin