diff options
author | Robert Dewar <dewar@adacore.com> | 2010-10-26 13:12:34 +0000 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2010-10-26 15:12:34 +0200 |
commit | f2264ac2cd6325b96d5a742ce72159a011636f38 (patch) | |
tree | 8a6ecde825359b408b09247b4efe229b7d9826f1 /gcc/ada/sem_ch13.ads | |
parent | 1ce9dff334e66750cfc2a42509c8bed0d7a16f63 (diff) | |
download | gcc-f2264ac2cd6325b96d5a742ce72159a011636f38.zip gcc-f2264ac2cd6325b96d5a742ce72159a011636f38.tar.gz gcc-f2264ac2cd6325b96d5a742ce72159a011636f38.tar.bz2 |
sem_ch13.adb (Build_Invariant_Procedure): New calling sequence.
2010-10-26 Robert Dewar <dewar@adacore.com>
* sem_ch13.adb (Build_Invariant_Procedure): New calling sequence.
(Build_Invariant_Procedure): Properly handle analysis of invariant
expression with proper end-of-visible-decls visibility.
* sem_ch13.ads (Build_Invariant_Procedure): Changed calling sequence.
* sem_ch3.adb (Process_Full_View): Don't build invariant procedure
(too late).
(Analyze_Private_Extension_Declaration): Propagate invariant flags.
* sem_ch7.adb (Analyze_Package_Specification): Build invariant
procedures.
From-SVN: r165960
Diffstat (limited to 'gcc/ada/sem_ch13.ads')
-rw-r--r-- | gcc/ada/sem_ch13.ads | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/gcc/ada/sem_ch13.ads b/gcc/ada/sem_ch13.ads index 8d0245d..1c51a27 100644 --- a/gcc/ada/sem_ch13.ads +++ b/gcc/ada/sem_ch13.ads @@ -52,17 +52,16 @@ 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. Invariant_Procedure is - -- set for Typ. In some error situations no procedure is built, in which - -- case PDecl/PBody are empty on return. + procedure Build_Invariant_Procedure (Typ : Entity_Id; N : Node_Id); + -- Typ is a private type with invariants (indicated by Has_Invariants being + -- set for Typ, indicating the presence of pragma Invariant entries on the + -- rep chain, note that Invariant aspects have already been converted to + -- pragma Invariant), then this procedure builds the spec and body for the + -- corresponding Invariant procedure, inserting them at appropriate points + -- in the package specification N. Invariant_Procedure is set for Typ. Note + -- that this procedure is called at the end of processing the declarations + -- in the visible part (i.e. the right point for visibility analysis of + -- the invariant expression). procedure Check_Record_Representation_Clause (N : Node_Id); -- This procedure completes the analysis of a record representation clause |