if Is_Entity_Name (Exp)
and then Has_Anonymous_Access_Discriminant (Etype (Exp))
- and then Static_Accessibility_Level (Exp, Object_Decl_Level)
+ and then Static_Accessibility_Level (Exp, Zero_On_Dynamic_Level)
> Static_Accessibility_Level (N, Object_Decl_Level)
then
-- A dynamic check and a warning are generated when we are within
elsif Ekind (Etype (Nam)) = E_Anonymous_Access_Type
and then Nkind (Parent (N)) = N_Type_Conversion
- and then Type_Access_Level (Etype (Parent (N)))
- < Static_Accessibility_Level (A, Object_Decl_Level)
+ and then
+ Type_Access_Level (Etype (Parent (N)))
+ < Static_Accessibility_Level (A, Zero_On_Dynamic_Level)
then
Accessibility_Error ("conversion");
elsif Ekind (Etype (Nam)) = E_Anonymous_Access_Type
and then Nkind (Parent (N)) = N_Assignment_Statement
- and then Static_Accessibility_Level
- (Name (Parent (N)), Object_Decl_Level)
- < Static_Accessibility_Level (A, Object_Decl_Level)
+ and then
+ Static_Accessibility_Level
+ (Name (Parent (N)), Object_Decl_Level)
+ < Static_Accessibility_Level (A, Zero_On_Dynamic_Level)
then
Accessibility_Error ("assignment");
elsif Nkind (Parent (N)) = N_Qualified_Expression
and then Nkind (Parent (Parent (N))) = N_Allocator
- and then Type_Access_Level (Etype (Parent (Parent (N))))
- < Static_Accessibility_Level (A, Object_Decl_Level)
+ and then
+ Type_Access_Level (Etype (Parent (Parent (N))))
+ < Static_Accessibility_Level (A, Zero_On_Dynamic_Level)
then
Accessibility_Error ("allocator");
elsif In_Return_Value (N)
and then Comes_From_Source (N)
- and then Subprogram_Access_Level (Current_Subprogram)
- < Static_Accessibility_Level
- (A, Object_Decl_Level, In_Return_Context => True)
+ and then
+ Subprogram_Access_Level (Current_Subprogram)
+ < Static_Accessibility_Level
+ (A, Zero_On_Dynamic_Level, In_Return_Context => True)
then
Accessibility_Error ("return");
end if;