This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r118308 - /trunk/gcc/ada/sem_disp.adb
- From: charlet at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Tue, 31 Oct 2006 18:09:05 -0000
- Subject: r118308 - /trunk/gcc/ada/sem_disp.adb
Author: charlet
Date: Tue Oct 31 18:09:03 2006
New Revision: 118308
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=118308
Log:
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.
Modified:
trunk/gcc/ada/sem_disp.adb