begin
if Present (Spec) then
- if A = Aspect_Default_Iterator then
+ if A = Aspect_Default_Iterator
+ and then Present (Aspect_Rep_Item (Spec))
+ then
return Expression (Aspect_Rep_Item (Spec));
else
return Expression (Spec);
Save_Interps (Subprog, Node_To_Replace);
else
- -- The type of the subprogram may be a limited view obtained
- -- transitively from another unit. If full view is available,
- -- use it to analyze call. If there is no nonlimited view, then
- -- this is diagnosed when analyzing the rewritten call.
-
- declare
- T : constant Entity_Id := Etype (Subprog);
- begin
- if From_Limited_With (T) then
- Set_Etype (Entity (Subprog), Available_View (T));
- end if;
- end;
-
Analyze (Node_To_Replace);
-- If the operation has been rewritten into a call, which may get
begin
return
Present (Def_Iter)
+ and then Present (Etype (Def_Iter))
and then Requires_Transient_Scope (Etype (Def_Iter));
end Has_Sec_Stack_Default_Iterator;