diff options
author | Robert Dewar <dewar@adacore.com> | 2010-10-21 10:33:36 +0000 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2010-10-21 12:33:36 +0200 |
commit | 4818e7b9f8e9f5218d50f63c2dd7ae7f835aef0a (patch) | |
tree | 863959b3591a8287474cac0afa935f60a6b29c92 /gcc/ada/einfo.adb | |
parent | fd0ff1cf7e35b91797be21997ab3d75f3b980873 (diff) | |
download | gcc-4818e7b9f8e9f5218d50f63c2dd7ae7f835aef0a.zip gcc-4818e7b9f8e9f5218d50f63c2dd7ae7f835aef0a.tar.gz gcc-4818e7b9f8e9f5218d50f63c2dd7ae7f835aef0a.tar.bz2 |
einfo.ads, einfo.adb: Add handling of predicates.
2010-10-21 Robert Dewar <dewar@adacore.com>
* einfo.ads, einfo.adb: Add handling of predicates.
Rework handling of invariants.
* exp_ch3.adb, exp_ch4.adb, exp_util.adb, sem_ch6.adb: Minor changes to
handing of invariants.
* par-prag.adb: Add dummy entry for pragma Predicate
* sem_ch13.adb (Analyze_Aspect_Specifications): Add processing for
Predicate aspects.
* sem_prag.adb: Add implementation of pragma Predicate.
* snames.ads-tmpl: Add entries for pragma Predicate.
2010-10-21 Robert Dewar <dewar@adacore.com>
* elists.adb: Minor reformatting.
From-SVN: r165764
Diffstat (limited to 'gcc/ada/einfo.adb')
-rw-r--r-- | gcc/ada/einfo.adb | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/gcc/ada/einfo.adb b/gcc/ada/einfo.adb index ca6bbf0..d8e2a7a 100644 --- a/gcc/ada/einfo.adb +++ b/gcc/ada/einfo.adb @@ -1411,7 +1411,7 @@ package body Einfo is function Has_Predicates (Id : E) return B is begin - pragma Assert (Is_Type (Id) or else Ekind (Id) = E_Procedure); + pragma Assert (Is_Type (Id) or else Ekind (Id) = E_Function); return Flag250 (Id); end Has_Predicates; @@ -3864,7 +3864,7 @@ package body Einfo is procedure Set_Has_Predicates (Id : E; V : B := True) is begin pragma Assert (Is_Type (Id) - or else Ekind (Id) = E_Procedure + or else Ekind (Id) = E_Function or else Ekind (Id) = E_Void); Set_Flag250 (Id, V); end Set_Has_Predicates; @@ -6265,15 +6265,15 @@ package body Einfo is Ekind (Id) = E_Generic_Package; end Is_Package_Or_Generic_Package; - ------------------------- - -- Predicate_Procedure -- - ------------------------- + ------------------------ + -- Predicate_Function -- + ------------------------ - function Predicate_Procedure (Id : E) return E is + function Predicate_Function (Id : E) return E is S : Entity_Id; begin - pragma Assert (Is_Type (Id) and then Has_Predicates (Id)); + pragma Assert (Is_Type (Id)); if No (Subprograms_For_Type (Id)) then return Empty; @@ -6290,7 +6290,7 @@ package body Einfo is return Empty; end if; - end Predicate_Procedure; + end Predicate_Function; --------------- -- Is_Prival -- @@ -6860,11 +6860,11 @@ package body Einfo is Set_Subprograms_For_Type (Id, V); end Set_Invariant_Procedure; - ----------------------------- - -- Set_Predicate_Procedure -- - ----------------------------- + ---------------------------- + -- Set_Predicate_Function -- + ---------------------------- - procedure Set_Predicate_Procedure (Id : E; V : E) is + procedure Set_Predicate_Function (Id : E; V : E) is S : Entity_Id; begin @@ -6882,7 +6882,7 @@ package body Einfo is end loop; Set_Subprograms_For_Type (Id, V); - end Set_Predicate_Procedure; + end Set_Predicate_Function; ----------------- -- Size_Clause -- |