diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-10-19 10:37:41 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-10-19 10:37:41 +0000 |
commit | 5b5df4a90e7d5d01289d11da11035972723dcfe3 (patch) | |
tree | 3a8f635ec7941d35e5630c74c102a5b8ac101976 /gcc/ada/sem_ch13.ads | |
parent | d03ada96eadcb0e0b656d7ce91533d4f63d43d9b (diff) | |
download | gcc-5b5df4a90e7d5d01289d11da11035972723dcfe3.tar.gz |
2010-10-19 Geert Bosch <bosch@adacore.com>
* ttypef.ads: Change VAXDF_Last to be -VAXDF_First, as type is
symmetric.
2010-10-19 Robert Dewar <dewar@adacore.com>
* atree.h (Field29): Fix incorrect definition.
* einfo.adb (Invariant_Procedure): New attribute
(Has_Invariants): New flag
(Has_Inheritable_Invariants): New flag
(OK_To_Reference): New flag
Minor code reorganization (use Next_Rep_Item function)
* einfo.ads (Invariant_Procedure): New attribute
(Has_Invariants): New flag
(Has_Inheritable_Invariants): New flag
(OK_To_Reference): New flag
* exp_ch3.adb (Expand_N_Object_Declaration): Add check for invariant
* exp_ch4.adb (Expand_N_Type_Conversion): Check invariant on type
conversion. Minor reformatting.
* exp_util.ads, exp_util.adb (Make_Invariant_Call): New procedure.
* opt.ads (List_Inherited_Aspects): New name for List_Inherited_Pre_Post
* par-prag.adb: Add dummy entry for pragma Invariant.
* sem_ch13.adb (Build_Invariant_Procedure): New procedure
(Analyze_Aspect_Specification): Add support for Invariant aspect
* sem_ch13.ads (Build_Invariant_Procedure): New procedure
* sem_ch3.adb (Build_Derived_Type): Propagate invariant information
(Process_Full_View): Deal with invariants, building invariant procedure
Minor reformatting
* sem_ch6.adb (Process_PPCs): Add processing of invariants
* sem_ch7.adb (Analyze_Package_Specification): Build invariant
procedures.
* sem_prag.adb: Implement pragma Invariant.
* sem_res.adb (Resolve_Entity_Name): Allow type reference if
OK_To_Reference set.
* sem_warn.adb (List_Inherited_Aspects): New name for
List_Inherited_Pre_Post.
* snames.ads-tmpl: Add entries for pragma Invariant.
* treepr.adb (Print_Entity_Information): Add handling of Field29.
* usage.adb: Warning .l/.L applies to invariant as well as pre/post.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165694 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/sem_ch13.ads')
-rw-r--r-- | gcc/ada/sem_ch13.ads | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/ada/sem_ch13.ads b/gcc/ada/sem_ch13.ads index b00d270a4e1..85a9085518e 100644 --- a/gcc/ada/sem_ch13.ads +++ b/gcc/ada/sem_ch13.ads @@ -52,6 +52,17 @@ package Sem_Ch13 is -- order is specified and there is at least one component clause. Adjusts -- component positions according to either Ada 95 or Ada 2005 (AI-133). + procedure Build_Invariant_Procedure + (Typ : Entity_Id; + PDecl : out Node_Id; + PBody : out Node_Id); + -- If Typ has Invariants (indicated by Has_Invariants being set for Typ, + -- indicating the presence of Pragma Invariant entries on the rep chain, + -- note that Invariant aspects are converted to pragma Invariant), then + -- this procedure builds the spec and body for the corresponding Invariant + -- procedure, returning themn in PDecl and PBody. In some error situations + -- no procedure is built, in which case PDecl/PBody are empty on return. + procedure Check_Record_Representation_Clause (N : Node_Id); -- This procedure completes the analysis of a record representation clause -- N. It is called at freeze time after adjustment of component clause bit |