diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2012-10-05 16:29:57 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2012-10-05 16:29:57 +0200 |
commit | 95081e99e234224e4bff070f2b0c332097f0901e (patch) | |
tree | 91363a32a29c19d899aa9f267516d2afed823ddd /gcc/ada/sem_ch13.ads | |
parent | 967fb65e809daa9c8d5a233dab77dd5e61d8effc (diff) | |
download | gcc-95081e99e234224e4bff070f2b0c332097f0901e.tar.gz |
[multiple changes]
2012-10-05 Thomas Quinot <quinot@adacore.com>
* sem_dim.adb, errout.adb, errout.ads (Analyze_Dimension_Call): Add
guard against abnormal tree resulting from a previously diagnosed
illegality.
2012-10-05 Hristian Kirtchev <kirtchev@adacore.com>
* freeze.adb (Freeze_Expression): Rename local variable Cspc to Spec
and update all refs to it. Do not freeze an entity outside a subprogram
body when the original context is an expression function.
2012-10-05 Robert Dewar <dewar@adacore.com>
* gnat1drv.adb (Adjust_Global_Switches): Default for overflow checking
is suppressed, even if backend overflow/divide checks are enabled.
2012-10-05 Ed Schonberg <schonberg@adacore.com>
* einfo.adb (Set_Invariant_Procedure, Set_Predicate_Function):
chain properly subprograms on Subprograms_For_Type list.
* sem_ch13.ads; (Build_Invariant_Procedure_Declaration): new
procedure, to create declaration for invariant procedure
independently of the construction of the body, so that it can
be called within expression functions.
* sem_ch13.adb (Build_Invariant_Procedure): code cleanup. The
declaration may already have been generated at the point an
explicit invariant aspect is encountered.
* sem_prag.adb; (Analyze_Pragma, case Invariant): create declaration
for invariant procedure.
* sem_ch7.adb (Analyze_Package_Specification): clean up call to
build invariant procedure.
(Preserve_Full_Attributes): propagate information about invariants
if they appear on a completion,
2012-10-05 Pascal Obry <obry@adacore.com>
* gnat_ugn.texi: Update documentation to lift Microsoft C
restriction.
From-SVN: r192128
Diffstat (limited to 'gcc/ada/sem_ch13.ads')
-rw-r--r-- | gcc/ada/sem_ch13.ads | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ada/sem_ch13.ads b/gcc/ada/sem_ch13.ads index 0ac7386e878..611f3f1c617 100644 --- a/gcc/ada/sem_ch13.ads +++ b/gcc/ada/sem_ch13.ads @@ -46,6 +46,14 @@ 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). + function Build_Invariant_Procedure_Declaration + (Typ : Entity_Id) return Node_Id; + -- If a type declaration has a specified invariant aspect, build the + -- declaration for the procedure at once, so that calls to it can be + -- generated before the body of the invariant procedure is built. This + -- is needed in the presence of public expression functions that return + -- the type in question. + 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 |