sem_ch3.ads, [...] (Check_Abstract_Overriding): Avoid generation of spurious error...
authorJavier Miranda <miranda@adacore.com>
Thu, 13 Dec 2007 10:48:09 +0000 (11:48 +0100)
committerArnaud Charlet <charlet@gcc.gnu.org>
Thu, 13 Dec 2007 10:48:09 +0000 (11:48 +0100)
commit7d7af38a4beb098888bab5d365c57c957033c900
tree63a8d81a2d72713eadec60590e4714fa1864c3a2
parent2242f4ddc32a339aee5f44a36735dad9ae34e99a
sem_ch3.ads, [...] (Check_Abstract_Overriding): Avoid generation of spurious error if parent is an interface type...

2007-12-06  Javier Miranda  <miranda@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.ads, sem_ch3.adb (Check_Abstract_Overriding): Avoid
generation of spurious error if parent is an interface type; caused
because predefined primitive bodies will be generated later by
Freeze_Record_Type.
(Process_Subtype): The subtype inherits the Known_To_Have_Preelab_Init
flag.
(Derive_Subprograms): Handle derivations of predefined primitives
after all the user-defined primitives to ensure that they are
found in proper order in instantiations.
(Add_Interface_Tag_Components, Inherit_Components): Update occurrences
of Related_Interface to Related_Type.
(Record_Type_Declaration): Minor reordering of calls to decorate the
Tag component because the entity must have set its Ekind attribute
before setting its Is_Tag attribute.
(Analyze_Subtype_Declaration): In the case of subtypes with
Private_Kind, inherit Known_To_Have_Preelab_Init from the parent.

From-SVN: r130883
gcc/ada/sem_ch3.adb
gcc/ada/sem_ch3.ads