Enter_Name (Id);
Set_Scope_Depth_Value (Id, Scope_Depth (Current_Scope) + 1);
- -- Analyze the aspects of the generic copy to ensure that all generated
- -- pragmas (if any) perform their semantic effects.
-
- if Has_Aspects (N) then
- Analyze_Aspect_Specifications (N, Id);
- end if;
-
Push_Scope (Id);
Enter_Generic_Scope (Id);
Set_Inner_Instances (Id, New_Elmt_List);
Set_Ekind (Id, E_Generic_Procedure);
end if;
+ -- Analyze the aspects of the generic copy to ensure that all generated
+ -- pragmas (if any) perform their semantic effects.
+
+ if Has_Aspects (N) then
+ Analyze_Aspect_Specifications (N, Id);
+ end if;
+
-- Set SPARK_Mode from context
Set_SPARK_Pragma (Id, SPARK_Mode_Pragma);
end if;
if Expr_Value then
-
- -- Adding minimum decoration to generic subprograms to set
- -- the Yield attribute (since at this stage it may not be
- -- set; see Analyze_Generic_Subprogram_Declaration).
-
- if Nkind (N) in N_Generic_Subprogram_Declaration
- and then Ekind (E) = E_Void
- then
- if Nkind (Specification (N)) = N_Function_Specification
- then
- Set_Ekind (E, E_Function);
- else
- Set_Ekind (E, E_Procedure);
- end if;
- end if;
-
Set_Has_Yield_Aspect (E);
end if;