OSDN Git Service

2005-07-07 Javier Miranda <miranda@adacore.com>
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 7 Jul 2005 09:42:10 +0000 (09:42 +0000)
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 7 Jul 2005 09:42:10 +0000 (09:42 +0000)
commite1c20931c7c1473851ea4b05e4d1aec6a74ec5aa
tree638e14e666a1b32a2339a40ce7405fbcc3e2c6e4
parent0ac6f3b3f98435ab28c9cdc020c75d7134ea8ca7
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101694 138bc75d-0d04-0410-961f-82ee72b054a4
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