aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/contracts.ads
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/contracts.ads')
-rw-r--r--gcc/ada/contracts.ads17
1 files changed, 15 insertions, 2 deletions
diff --git a/gcc/ada/contracts.ads b/gcc/ada/contracts.ads
index a41285f..9e7b955 100644
--- a/gcc/ada/contracts.ads
+++ b/gcc/ada/contracts.ads
@@ -33,8 +33,8 @@ package Contracts is
procedure Add_Contract_Item (Prag : Node_Id; Id : Entity_Id);
-- Add pragma Prag to the contract of a constant, entry, entry family,
-- [generic] package, package body, protected unit, [generic] subprogram,
- -- subprogram body, variable or task unit denoted by Id. The following are
- -- valid pragmas:
+ -- subprogram body, variable, task unit, or type denoted by Id.
+ -- The following are valid pragmas:
--
-- Abstract_State
-- Async_Readers
@@ -114,6 +114,19 @@ package Contracts is
-- Freeze_Id is the entity of a [generic] package body or a [generic]
-- subprogram body which "freezes" the contract of Obj_Id.
+ procedure Analyze_Type_Contract (Type_Id : Entity_Id);
+ -- Analyze all delayed pragmas chained on the contract of object Obj_Id as
+ -- if they appeared at the end of the declarative region. The pragmas to be
+ -- considered are:
+ --
+ -- Async_Readers
+ -- Async_Writers
+ -- Effective_Reads
+ -- Effective_Writes
+ --
+ -- In the case of a protected or task type, there will also be
+ -- a call to Analyze_Protected_Contract or Analyze_Task_Contract.
+
procedure Analyze_Package_Body_Contract
(Body_Id : Entity_Id;
Freeze_Id : Entity_Id := Empty);