sem_ch13.adb (Build_Invariant_Procedure): If body of procedure is already present...
authorEd Schonberg <schonberg@adacore.com>
Thu, 31 Jul 2014 09:33:10 +0000 (09:33 +0000)
committerArnaud Charlet <charlet@gcc.gnu.org>
Thu, 31 Jul 2014 09:33:10 +0000 (11:33 +0200)
commit3e50df4de7f0daea8b3f6682cfe5f16398b4f155
tree0b095b8f157d221a4c09861718672792dae5468a
parenta793528482910aca0f7c840ee5bdd5e722b0528a
sem_ch13.adb (Build_Invariant_Procedure): If body of procedure is already present, nothing to do.

2014-07-31  Ed Schonberg  <schonberg@adacore.com>

* sem_ch13.adb (Build_Invariant_Procedure): If body of procedure
is already present, nothing to do.
* exp_ch3.adb (Build_Component_Invariant_Call): For an access
component, check whether the access type has an invariant before
checking the designated type.
(Build_Record_Invariant_Proc): Change suffix of generated
name to prevent ambiguity when record type has invariants
in addition to those of components, and two subprograms are
constructed. Consistent with handling of array types.
(Insert_Component_Invariant_Checks): Build invariant procedure
body when one has not been created yet, in the case of composite
types that are completions and whose full declarations carry
invariants.

From-SVN: r213322
gcc/ada/ChangeLog
gcc/ada/exp_ch3.adb
gcc/ada/sem_ch13.adb