diff options
author | Javier Miranda <miranda@adacore.com> | 2019-07-08 08:13:20 +0000 |
---|---|---|
committer | Pierre-Marie de Rodat <pmderodat@gcc.gnu.org> | 2019-07-08 08:13:20 +0000 |
commit | 4a0e6ac18f731f41f7ddfa05c370186cd32bef52 (patch) | |
tree | 35a93152f966dad625f9964c1d9d8ff0c426597f /gcc/ada/gcc-interface | |
parent | 23eb3cb2b4fb900398461410c6c31294fc77cfc6 (diff) | |
download | gcc-4a0e6ac18f731f41f7ddfa05c370186cd32bef52.zip gcc-4a0e6ac18f731f41f7ddfa05c370186cd32bef52.tar.gz gcc-4a0e6ac18f731f41f7ddfa05c370186cd32bef52.tar.bz2 |
[Ada] Crash in interface derivation with null primitive
The frontend crashes processing the derivation of a tagged type whose
ultimate ancestor is an interface type I1 that has a null primitive,
implements another interface I2 derived from I2, and does not override
the null primitive.
2019-07-08 Javier Miranda <miranda@adacore.com>
gcc/ada/
* exp_disp.adb (Register_Primitive): When registering a
primitive in the secondary dispatch table, handle primitive
inherited through several levels of type derivation (required to
properly handle inherited 'null' primitive).
gcc/testsuite/
* gnat.dg/interface9.adb, gnat.dg/interface9_root-child.ads,
gnat.dg/interface9_root.ads: New testcase.
From-SVN: r273204
Diffstat (limited to 'gcc/ada/gcc-interface')
0 files changed, 0 insertions, 0 deletions