re PR ada/21489 (Wrong code generated for legal program, RM 6.4.1(13), 9.5.1(3), 9.5.3(8))

gcc/ada/
	PR ada/21489
	* exp_ch9.adb (Build_Simple_Entry_Call): Initialize OUT access type
	parameters of an entry call.

    gcc/testsuite/
	PR ada/21489
	* gnat.dg/rm_6_4_1_13.adb: New test.

From-SVN: r130617
This commit is contained in:
Samuel Tardieu 2007-12-05 09:25:38 +00:00 committed by Samuel Tardieu
parent c3220d4c93
commit 07c7262ec3
3 changed files with 16 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2007-12-05 Samuel Tardieu <sam@rfc1149.net>
PR ada/21489
* exp_ch9.adb (Build_Simple_Entry_Call): Initialize OUT access type
parameters of an entry call.
2007-12-03 Robert Dewar <dewar@adacore.com>
Samuel Tardieu <sam@rfc1149.net>

View File

@ -3024,8 +3024,12 @@ package body Exp_Ch9 is
-- We have to make an assignment statement separate for the
-- case of limited type. We cannot assign it unless the
-- Assignment_OK flag is set first.
-- An out formal of an access type must also be initialized
-- from the actual, as stated in RM 6.4.1 (13).
if Ekind (Formal) /= E_Out_Parameter then
if Ekind (Formal) /= E_Out_Parameter
or else Is_Access_Type (Etype (Formal))
then
N_Var :=
New_Reference_To (Defining_Identifier (N_Node), Loc);
Set_Assignment_OK (N_Var);

View File

@ -1,3 +1,8 @@
2007-12-05 Samuel Tardieu <sam@rfc1149.net>
PR ada/21489
* gnat.dg/rm_6_4_1_13.adb: New test.
2007-12-04 Jakub Jelinek <jakub@redhat.com>
PR middle-end/34134