diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-10-26 15:34:11 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-10-26 15:34:11 +0000 |
commit | 6a98a68380d946b1c67429ebefa21ec7c6040fdc (patch) | |
tree | 671be3274034e31dc8d5e24152ade37aafc63c72 /gcc/ada/contracts.ads | |
parent | 3470b0f7e62d9976986ef261567c59eaa768fc90 (diff) | |
download | gcc-6a98a68380d946b1c67429ebefa21ec7c6040fdc.tar.gz |
2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
* atree.ads, atree.adb (Ekind_In): New 10 and 11 parameter versions.
* contracts.ads, contracts.adb (Analyze_Initial_Declaration_Contract):
New routine.
* sem_ch6.adb (Analyze_Generic_Subprogram_Body):
Analyze the contract of the initial declaration.
(Analyze_Subprogram_Body_Helper): Analyze the contract of the
initial declaration.
* sem_ch7.adb (Analyze_Package_Body_Helper): Analyze the contract
of the initial declaration.
* sem_ch9.adb (Analyze_Entry_Body): Analyze the contract of
the initial declaration.
(Analyze_Protected_Body): Analyze
the contract of the initial declaration.
(Analyze_Task_Body): Analyze the contract of the initial declaration.
* sem_prag.adb (Add_Entity_To_Name_Buffer): Use "type" rather
than "unit" as it makes the error messages sound better.
(Add_Item_To_Name_Buffer): Update comment on usage. The routine
now supports discriminants and current instances of concurrent
types.
(Analyze_Depends_In_Decl_Part): Install the discriminants
of a task type.
(Analyze_Global_In_Decl_Part): Install the discriminants of a task type.
(Analyze_Global_Item): Add processing for current instances of
concurrent types and include discriminants as valid global items.
(Analyze_Input_Output): Discriminants and current instances of
concurrent types are now valid items. Update various error messages.
(Check_Usage): Current instances of protected and task types behaves
as formal parameters.
(Collect_Subprogram_Inputs_Outputs): There is
no longer need to manually analyze [Refined_]Global thanks to
freezing of initial declaration contracts. Add processing for
the current instance of a concurrent type.
(Find_Role): Add categorizations for discriminants, protected and task
types.
(Is_CCT_Instance): New routine.
(Match_Items): Update the comment on usage. Update internal comments.
* sem_prag.ads (Collect_Subprogram_Inputs_Outputs): Update the
comment on usage.
* sem_util.adb (Entity_Of): Ensure that the entity is an object
when traversing a potential renaming chain.
(Fix_Msg): Use "type" rather than "unit" as it makes the error messages
sound better.
* sem_util.ads (Fix_Msg): Update the comment on usage.
2015-10-26 Arnaud Charlet <charlet@adacore.com>
* par.adb (Par): Do not generate an error when generating
SCIL for predefined units or new children of system and co.
2015-10-26 Ed Schonberg <schonberg@adacore.com>
* einfo.adb: Access_Disp_Table applies to a private
extension.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229373 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/contracts.ads')
-rw-r--r-- | gcc/ada/contracts.ads | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/ada/contracts.ads b/gcc/ada/contracts.ads index 96ea79f8b99..21c609d5b2a 100644 --- a/gcc/ada/contracts.ads +++ b/gcc/ada/contracts.ads @@ -58,7 +58,7 @@ package Contracts is -- Volatile_Function procedure Analyze_Enclosing_Package_Body_Contract (Body_Decl : Node_Id); - -- Analyze the contract of the nearest package body (if any) enclosing + -- Analyze the contract of the nearest package body (if any) which encloses -- package or subprogram body Body_Decl. procedure Analyze_Entry_Or_Subprogram_Body_Contract (Body_Id : Entity_Id); @@ -86,6 +86,10 @@ package Contracts is -- Precondition -- Test_Case + procedure Analyze_Initial_Declaration_Contract (Body_Decl : Node_Id); + -- Analyze the contract of the initial declaration of entry body, package + -- body, protected body, subprogram body or task body Body_Decl. + procedure Analyze_Object_Contract (Obj_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 |