exp_ch3.adb (Build_Record_Init_Proc/Freeze_Record_Type): Reimplementation of the...
authorJavier Miranda <miranda@adacore.com>
Thu, 7 Jul 2005 09:42:10 +0000 (11:42 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Thu, 7 Jul 2005 09:42:10 +0000 (11:42 +0200)
commit3ca505dc9c40cdb738dc6acec445a31b32a950e7
tree638e14e666a1b32a2339a40ce7405fbcc3e2c6e4
parent69601f746d42adbf89b28a162cdbad0fa23de354
exp_ch3.adb (Build_Record_Init_Proc/Freeze_Record_Type): Reimplementation of the support for abstract interface types in order to leave...

2005-07-07  Javier Miranda  <miranda@adacore.com>

* exp_ch3.adb (Build_Record_Init_Proc/Freeze_Record_Type):
Reimplementation of the support for abstract interface types in order
to leave the code more clear and easy to maintain.

* exp_ch6.adb (Freeze_Subprogram): Reimplementation of the support for
abstract interface types in order to leave the code clearer and easier
to maintain.

* exp_disp.ads, exp_disp.adb (Fill_DT_Entry): Part of its functionality
is now implemented by the new subprogram Fill_Secondary_DT_Entry.
(Fill_Secondary_DT_Entry): Generate the code necessary to fill the
appropriate entry of the secondary dispatch table.
(Make_DT): Add code to inherit the secondary dispatch tables of
the ancestors.

* exp_util.adb (Find_Interface_Tag/Find_Interface_ADT): Instead of
implementing both functionalities by means of a common routine, each
routine has its own code.

From-SVN: r101694
gcc/ada/exp_ch3.adb
gcc/ada/exp_ch6.adb
gcc/ada/exp_disp.adb
gcc/ada/exp_disp.ads
gcc/ada/exp_util.adb