sem_disp.adb (Check_Dispatching_Operation): Do not flag subprograms inherited…
sem_disp.adb (Check_Dispatching_Operation): Do not flag subprograms inherited from an interface ancestor by another... 2006-10-31 Hristian Kirtchev <kirtchev@adacore.com> Ed Schonberg <schonberg@adacore.com> Javier Miranda <miranda@adacore.com> Gary Dismukes <dismukes@adacore.com> * sem_disp.adb (Check_Dispatching_Operation): Do not flag subprograms inherited from an interface ancestor by another interface in the context of an instance as 'late'. (Is_Tag_Indeterminate, Propagate_Tag): Handle properly the dereference of a call to a function that dispatches on access result. (Check_Dispatching_Operation): In case of late overriding of a primitive that covers abstract interface subprograms we register it in all the secondary dispatch tables associated with abstract interfaces. (Check_Dispatching_Call): Add check that a dispatching call is not made to a function with a controlling result of a limited type. This is a current implementation restriction. (Check_Controlling_Formal): Remove bogus checks for E.2.2(14). (Check_Dispatching_Operation): Do no emit a warning if the controlling argument is an interface type that is a generic formal. (Is_Interface_Subprogram): Removed. (Check_Dispatching_Operation): If the subprogram is not a dispatching operation, check the formals to handle the case in which it is associated with an abstract interface type. From-SVN: r118308
Showing
This diff is collapsed.
Click to expand it.
Please
register
or
sign in
to comment