diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2010-10-26 14:45:45 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2010-10-26 14:45:45 +0200 |
commit | ce09f8b3f240994d4f9ecc2e95e8e0bbd78eb3f5 (patch) | |
tree | d18805d6b80e73483f9434539b8fb989680f11bd /gcc/ada/sem_disp.adb | |
parent | f9673bb07a907dc644420d95858531e3699394e2 (diff) | |
download | gcc-ce09f8b3f240994d4f9ecc2e95e8e0bbd78eb3f5.zip gcc-ce09f8b3f240994d4f9ecc2e95e8e0bbd78eb3f5.tar.gz gcc-ce09f8b3f240994d4f9ecc2e95e8e0bbd78eb3f5.tar.bz2 |
[multiple changes]
2010-10-26 Robert Dewar <dewar@adacore.com>
* opt.ads (Treat_Categorization_Errors_As_Warnings): New flag
* sem_cat.adb (Check_Categorization_Dependencies):
Use Check_Categorization_Dependencies
* switch-c.adb: GNAT Mode sets Treat_Categorization_Errors_As_Warnings
-gnateP sets Treat_Categorization_Errors_As_Warnings
* usage.adb: Add line for -gnateP switch
2010-10-26 Javier Miranda <miranda@adacore.com>
* sem_ch3.adb (Add_Internal_Interface_Entities): Handle primitives
inherited from the parent that cover interface primitives.
(Derive_Progenitor_Subprograms): Handle primitives inherited from
the parent that cover interface primitives.
* sem_disp.adb (Find_Primitive_Covering_Interface): When searching in
the list of primitives of the type extend the test to include inherited
private primitives.
* sem_ch6.ads (Is_Interface_Conformant): Add missing documentation.
* sem_ch7.adb (Declare_Inherited_Private_Subprograms): Add missing
barrier to the loop searching for explicit overriding primitives.
* sem_ch4.adb (Analyze_Indexed_Component_Form): Add missing barrier
before accessing attribute Entity.
2010-10-26 Bob Duff <duff@adacore.com>
* make.adb: Call Namet.Finalize, so we can get statistics.
From-SVN: r165952
Diffstat (limited to 'gcc/ada/sem_disp.adb')
-rw-r--r-- | gcc/ada/sem_disp.adb | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ada/sem_disp.adb b/gcc/ada/sem_disp.adb index 9312192..55330b9 100644 --- a/gcc/ada/sem_disp.adb +++ b/gcc/ada/sem_disp.adb @@ -1817,6 +1817,13 @@ package body Sem_Disp is end if; end if; + -- Check if E covers the interface primitive (includes case in + -- which E is an inherited private primitive) + + if Is_Interface_Conformant (Tagged_Type, Iface_Prim, E) then + return E; + end if; + -- Use the internal entity that links the interface primitive with -- the covering primitive to locate the entity |