-- Returns a new reference to the index type name
function Gen_Assign
- (Ind : Node_Id;
- Expr : Node_Id) return List_Id;
+ (Ind : Node_Id;
+ Expr : Node_Id) return List_Id;
-- Ind must be a side-effect-free expression. If the input aggregate N
-- to Build_Loop contains no subaggregates, then this function returns
-- the assignment statement:
----------------
function Gen_Assign
- (Ind : Node_Id;
- Expr : Node_Id) return List_Id
+ (Ind : Node_Id;
+ Expr : Node_Id) return List_Id
is
function Add_Loop_Actions (Lis : List_Id) return List_Id;
-- Collect insert_actions generated in the construction of a loop,
-----------------
function Empty_Range (A : Node_Id) return Boolean is
- R : Node_Id;
+ R : constant Node_Id := First (Choice_List (A));
begin
- if Nkind (A) = N_Iterated_Component_Association then
- R := First (Discrete_Choices (A));
- else
- R := First (Choices (A));
- end if;
-
return No (Next (R))
and then Nkind (R) = N_Range
and then Compile_Time_Compare