[Ada] Refine type of a counter function for record delta aggregate
Commit Message
Distance of a variant in the enclosing type declaration is never
negative. Code cleanup related to fix for boxes in record delta
aggregates; semantics is unaffected.
Tested on x86_64-pc-linux-gnu, committed on trunk
gcc/ada/
* sem_aggr.adb (Variant_Depth): Refine type from Integer to
Natural.
@@ -3384,9 +3384,8 @@ package body Sem_Aggr is
function Nested_In (V1 : Node_Id; V2 : Node_Id) return Boolean;
-- Determine whether variant V1 is within variant V2
- function Variant_Depth (N : Node_Id) return Integer;
- -- Determine the distance of a variant to the enclosing type
- -- declaration.
+ function Variant_Depth (N : Node_Id) return Natural;
+ -- Determine the distance of a variant to the enclosing type declaration
--------------------
-- Check_Variant --
@@ -3492,8 +3491,8 @@ package body Sem_Aggr is
-- Variant_Depth --
-------------------
- function Variant_Depth (N : Node_Id) return Integer is
- Depth : Integer;
+ function Variant_Depth (N : Node_Id) return Natural is
+ Depth : Natural;
Par : Node_Id;
begin