diff options
author | Hristian Kirtchev <kirtchev@adacore.com> | 2006-10-31 19:09:03 +0100 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2006-10-31 19:09:03 +0100 |
commit | 67f3c450aa496462153743af600814121234b63c (patch) | |
tree | 9c45ac0587feaceb2cd3c805ca1ad16afa1c658a /gcc/ada/s-tpoben.adb | |
parent | 3100e48f7cdb3af1709b00d9d71a7932d92dcbba (diff) | |
download | gcc-67f3c450aa496462153743af600814121234b63c.zip gcc-67f3c450aa496462153743af600814121234b63c.tar.gz gcc-67f3c450aa496462153743af600814121234b63c.tar.bz2 |
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
Diffstat (limited to 'gcc/ada/s-tpoben.adb')
0 files changed, 0 insertions, 0 deletions