exp_ch4.adb (Expand_Allocator_Expression): Disable the generation of Set_Finalize_Address_Ptr for CodePeer because...

2011-08-04  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch4.adb (Expand_Allocator_Expression): Disable the generation of
	Set_Finalize_Address_Ptr for CodePeer because Finalize_Address was not
	built in the first place.
	(Expand_N_Allocator): Disable the generation of Set_Finalize_Address_Ptr
	for CodePeer because Finalize_Address was not built to begin with.
	* exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Ditto.

From-SVN: r177330
This commit is contained in:
Hristian Kirtchev 2011-08-04 08:28:33 +00:00 committed by Arnaud Charlet
parent a0fb8fe8d9
commit f65df6093b
3 changed files with 20 additions and 3 deletions

View File

@ -1,3 +1,12 @@
2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch4.adb (Expand_Allocator_Expression): Disable the generation of
Set_Finalize_Address_Ptr for CodePeer because Finalize_Address was not
built in the first place.
(Expand_N_Allocator): Disable the generation of Set_Finalize_Address_Ptr
for CodePeer because Finalize_Address was not built to begin with.
* exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Ditto.
2011-08-04 Pascal Obry <obry@adacore.com> 2011-08-04 Pascal Obry <obry@adacore.com>
* adaint.c (__gnat_tmp_name): Use current process id to create temp * adaint.c (__gnat_tmp_name): Use current process id to create temp

View File

@ -1076,9 +1076,11 @@ package body Exp_Ch4 is
-- (Collection, <Finalize_Address>'Unrestricted_Access) -- (Collection, <Finalize_Address>'Unrestricted_Access)
-- Since .NET/JVM compilers do not support address arithmetic, -- Since .NET/JVM compilers do not support address arithmetic,
-- this call is skipped. -- this call is skipped. The same is done for CodePeer because
-- Finalize_Address is never generated.
if VM_Target = No_VM if VM_Target = No_VM
and then not CodePeer_Mode
and then Present (Associated_Collection (PtrT)) and then Present (Associated_Collection (PtrT))
then then
Insert_Action (N, Insert_Action (N,
@ -3847,7 +3849,10 @@ package body Exp_Ch4 is
-- Set_Finalize_Address_Ptr -- Set_Finalize_Address_Ptr
-- (Pool, <Finalize_Address>'Unrestricted_Access) -- (Pool, <Finalize_Address>'Unrestricted_Access)
else -- Do not generate the above for CodePeer compilations
-- because Finalize_Address is never built.
elsif not CodePeer_Mode then
Insert_Action (N, Insert_Action (N,
Make_Set_Finalize_Address_Ptr_Call Make_Set_Finalize_Address_Ptr_Call
(Loc => Loc, (Loc => Loc,

View File

@ -7187,7 +7187,10 @@ package body Exp_Ch6 is
then then
null; null;
else -- Do not generate the call to Make_Set_Finalize_Address_Ptr for
-- CodePeer compilations becase Finalize_Address is never built.
elsif not CodePeer_Mode then
Insert_Action (Allocator, Insert_Action (Allocator,
Make_Set_Finalize_Address_Ptr_Call (Loc, Make_Set_Finalize_Address_Ptr_Call (Loc,
Typ => Etype (Function_Id), Typ => Etype (Function_Id),