exp_intr.adb (Expand_Unc_Deallocation): Add missing support for deallocation of class...
authorJavier Miranda <miranda@adacore.com>
Wed, 6 Jun 2007 10:27:12 +0000 (12:27 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Wed, 6 Jun 2007 10:27:12 +0000 (12:27 +0200)
commitb545a0f665f17f255262053f9ebf27f718bdfabc
tree34a5ab51899cbffbc75e4a007da7cf396ce723e2
parentcde4a4b1a387e3d37d5ea534b59703e4234b754a
exp_intr.adb (Expand_Unc_Deallocation): Add missing support for deallocation of class-wide interface objects.

2007-04-20  Javier Miranda  <miranda@adacore.com>

* exp_intr.adb (Expand_Unc_Deallocation): Add missing support for
deallocation of class-wide interface objects.
(Expand_Dispatching_Constructor_Call): Take into account that if the
result of the dispatching constructor is an interface type, the
function returns a class-wide interface type; otherwise the returned
object would be actual. The frontend previously accepted returning
interface types because Expand_Interface_Actuals silently performed
the management of the returned type "as if" it were a class-wide
interface type.
(Expand_Dispatching_Constructor_Call): Replace call to
Make_DT_Access_Action by direct call to Make_Function_Call.

From-SVN: r125406
gcc/ada/exp_intr.adb