[Ada] Mimic the C++ ABI when passing class-wide conversion actuals
authorJavier Miranda <miranda@adacore.com>
Wed, 26 Sep 2018 09:18:29 +0000 (09:18 +0000)
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>
Wed, 26 Sep 2018 09:18:29 +0000 (09:18 +0000)
commitc886a946134d08a3ae3ad2dacbcee8d6b981db1d
tree1df089e246aba438b05dd6b9e493cee1197ff250
parent4f95defaa9c9e60f3e07f629bde8189fb6af19cf
[Ada] Mimic the C++ ABI when passing class-wide conversion actuals

This patch does not affect the behavior of Ada-only code but improves
consistency with the code generated by the C++ compiler.

2018-09-26  Javier Miranda  <miranda@adacore.com>

gcc/ada/

* sem_res.adb (Resolve_Actuals): If the formal is a class-wide
type conversion then do not skip resolving and expanding the
conversion; required to displace the pointer to the object and
reference the dispatch table associated with the target
interface type.

From-SVN: r264624
gcc/ada/ChangeLog
gcc/ada/sem_res.adb