aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/sem_ch13.ads
diff options
context:
space:
mode:
authorRobert Dewar <dewar@adacore.com>2010-10-26 13:12:34 +0000
committerArnaud Charlet <charlet@gcc.gnu.org>2010-10-26 15:12:34 +0200
commitf2264ac2cd6325b96d5a742ce72159a011636f38 (patch)
tree8a6ecde825359b408b09247b4efe229b7d9826f1 /gcc/ada/sem_ch13.ads
parent1ce9dff334e66750cfc2a42509c8bed0d7a16f63 (diff)
downloadgcc-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.ads21
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