aspects.ads: Type_Invariant'class is a valid aspect.
authorEd Schonberg <schonberg@adacore.com>
Mon, 1 Oct 2012 08:39:43 +0000 (08:39 +0000)
committerArnaud Charlet <charlet@gcc.gnu.org>
Mon, 1 Oct 2012 08:39:43 +0000 (10:39 +0200)
commit9e1902a9e7e3cb06d33ad2c1e1e002d2ba0973ec
tree1ced32edb6dcc6893cad6b2430c07f37d1c79a1c
parente8dde8759781d78310905ed3c2fb8b78e84964a9
aspects.ads: Type_Invariant'class is a valid aspect.

2012-10-01  Ed Schonberg  <schonberg@adacore.com>

* aspects.ads: Type_Invariant'class is a valid aspect.
* sem_ch6.adb (Is_Public_Subprogram_For): with the exception of
initialization procedures, subprograms that do not come from
source are not public for the purpose of invariant checking.
* sem_ch13.adb (Build_Invariant_Procedure): Handle properly the
case of a non-private type in a package without a private part,
when the type inherits invariants from its ancestor.

2012-10-01  Ed Schonberg  <schonberg@adacore.com>

* exp_ch3.adb (Build_Record_Invariant_Proc): new procedure to
generate a checking procedure for record types that may have
components whose types have type invariants declared.

From-SVN: r191901
gcc/ada/ChangeLog
gcc/ada/aspects.ads
gcc/ada/exp_ch3.adb
gcc/ada/sem_ch13.adb
gcc/ada/sem_ch6.adb