diff options
| author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-10-31 18:09:03 +0000 |
|---|---|---|
| committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-10-31 18:09:03 +0000 |
| commit | 779facca9a183a4abb76cb4e40200b90e63ff84b (patch) | |
| tree | 9c45ac0587feaceb2cd3c805ca1ad16afa1c658a /libjava/classpath/java | |
| parent | 6002ae8059231752cb621e4d438d625084c05489 (diff) | |
| download | ppe42-gcc-779facca9a183a4abb76cb4e40200b90e63ff84b.tar.gz ppe42-gcc-779facca9a183a4abb76cb4e40200b90e63ff84b.zip | |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@118308 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/classpath/java')
0 files changed, 0 insertions, 0 deletions

