sem_ch12.ads, [...] (Instantiate_Type): If the formal is a derived type with…
sem_ch12.ads, [...] (Instantiate_Type): If the formal is a derived type with interface progenitors use the analyzed... 2007-08-14 Ed Schonberg <schonberg@adacore.com> Gary Dismukes <dismukes@adacore.com> Thomas Quinot <quinot@adacore.com> * sem_ch12.ads, sem_ch12.adb (Instantiate_Type): If the formal is a derived type with interface progenitors use the analyzed formal as the parent of the actual, to create renamings for all the inherited operations in Derive_Subprograms. (Collect_Previous_Instances): new procedure within of Load_Parent_Of_Generic, to instantiate all bodies in the compilation unit being loaded, to ensure that the generation of global symbols is consistent in different compilation modes. (Is_Tagged_Ancestor): New function testing the ancestor relation that takes progenitor types into account. (Validate_Derived_Type_Instance): Enforce the rule of 3.9.3(9) by traversing over the primitives of the formal and actual types to locate any abstract subprograms of the actual type that correspond to a nonabstract subprogram of the formal type's ancestor type(s), and issue an error if such is found. (Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation, Instantiate_Package_Body, Instantiate_Subprogram_Body): Remove bogus guard around calls to Inherit_Context. (Reset_Entity): If the entity is the selector of a selected component that denotes a named number, propagate constant-folding to the generic template only if the named number is global to the generic unit. (Set_Instance_Env): Only reset the compilation switches when compiling a predefined or internal unit. From-SVN: r127443
Showing
This diff is collapsed.
Click to expand it.
Please
register
or
sign in
to comment