diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2014-10-10 14:21:19 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2014-10-10 14:21:19 +0200 |
commit | b9696ffb6e8e8fbb59b0cc925e218e92c2d71be0 (patch) | |
tree | 855a30ced6ee7e81f10a0eb96168f1d3102e77ca /gcc/ada/sem_ch13.adb | |
parent | 1e3ed0fc933a9c77ddc14f7097dd601d824c2b35 (diff) | |
download | gcc-b9696ffb6e8e8fbb59b0cc925e218e92c2d71be0.zip gcc-b9696ffb6e8e8fbb59b0cc925e218e92c2d71be0.tar.gz gcc-b9696ffb6e8e8fbb59b0cc925e218e92c2d71be0.tar.bz2 |
[multiple changes]
2014-10-10 Robert Dewar <dewar@adacore.com>
* sem_ch7.adb, einfo.adb, einfo.ads, sem_prag.adb, sem_ch12.adb,
freeze.adb, sem_util.adb, sem_res.adb, exp_ch6.adb, exp_ch13.adb,
sem_ch6.adb, sem_cat.adb, sem_disp.adb
(Is_Subprogram_Or_Generic_Subprogram): New primitive. Use this primitive
throughout where appropriate.
2014-10-10 Bob Duff <duff@adacore.com>
* a-coinho-shared.ads: Minor reformatting.
* s-traceb.adb: Minor clean up.
2014-10-10 Robert Dewar <dewar@adacore.com>
* ali.adb (Scan_ALI): Read and process new GP flag on ALI P line.
* ali.ads (GNATprove_Mode): New component in ALI table.
(GNATprove_Mode_Specified): New global.
* gnatbind.adb (Gnatbind): Give fatal error if any file compiled
in GNATProve mode.
* lib-writ.ads, lib-writ.adb (GP): New flag on P line for
GNATProve_Mode.
2014-10-10 Javier Miranda <miranda@adacore.com>
* exp_ch3.adb (Build_Init_Procedure): Adding assertion.
(Build_Init_Statement): Ensure that statements
associated with the parent components are located at the beginning
of the returned list of statements.
2014-10-10 Ed Schonberg <schonberg@adacore.com>
* sem_ch13.adb (Inherit_Aspects_At_Freeze_Node): If the full
view of a private type T that has a type invariant is a scalar
or constrained array type, the base type created for the full
view has the same type invariant.
From-SVN: r216074
Diffstat (limited to 'gcc/ada/sem_ch13.adb')
-rw-r--r-- | gcc/ada/sem_ch13.adb | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/ada/sem_ch13.adb b/gcc/ada/sem_ch13.adb index a73712b..10f4a74 100644 --- a/gcc/ada/sem_ch13.adb +++ b/gcc/ada/sem_ch13.adb @@ -10705,6 +10705,15 @@ package body Sem_Ch13 is if Class_Present (Get_Rep_Item (Typ, Name_Invariant)) then Set_Has_Inheritable_Invariants (Typ); end if; + + -- If the full view of the type is a scalar type or array type, the + -- implicit base type created for it has the same invariant. + + elsif Has_Invariants (Typ) and then Base_Type (Typ) /= Typ + and then not Has_Invariants (Base_Type (Typ)) + then + Set_Has_Invariants (Base_Type (Typ)); + Set_Invariant_Procedure (Base_Type (Typ), Invariant_Procedure (Typ)); end if; -- Volatile |