sem_ch6.adb (New_Overloaded_Entity, [...]): Do not set Overridden_Operation if subprogram is an initialization procedure.

2011-08-02  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (New_Overloaded_Entity, Check_Overriding_Indicator): Do
	not set Overridden_Operation if subprogram is an initialization
	procedure.

From-SVN: r177126
This commit is contained in:
Ed Schonberg 2011-08-02 10:25:26 +00:00 committed by Arnaud Charlet
parent e24329cdf0
commit 2fe829aee4
2 changed files with 13 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2011-08-02 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (New_Overloaded_Entity, Check_Overriding_Indicator): Do
not set Overridden_Operation if subprogram is an initialization
procedure.
2011-08-02 Yannick Moy <moy@adacore.com>
* par-ch6.adb: Correct obsolete name in comments

View File

@ -4804,7 +4804,10 @@ package body Sem_Ch6 is
end if;
elsif Is_Subprogram (Subp) then
if No (Overridden_Operation (Subp)) then
if Is_Init_Proc (Subp) then
null;
elsif No (Overridden_Operation (Subp)) then
-- For entities generated by Derive_Subprograms the overridden
-- operation is the inherited primitive (which is available
@ -4819,6 +4822,7 @@ package body Sem_Ch6 is
and then Comes_From_Source (Alias (Overridden_Subp))
then
Set_Overridden_Operation (Subp, Alias (Overridden_Subp));
else
Set_Overridden_Operation (Subp, Overridden_Subp);
end if;
@ -8362,7 +8366,8 @@ package body Sem_Ch6 is
and then Comes_From_Source (Alias (E))
then
Set_Overridden_Operation (S, Alias (E));
else
elsif not Is_Init_Proc (S) then
Set_Overridden_Operation (S, E);
end if;