+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>
* adaint.c (__gnat_tmp_name): Use current process id to create temp
-- (Collection, <Finalize_Address>'Unrestricted_Access)
-- 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
+ and then not CodePeer_Mode
and then Present (Associated_Collection (PtrT))
then
Insert_Action (N,
-- Set_Finalize_Address_Ptr
-- (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,
Make_Set_Finalize_Address_Ptr_Call
(Loc => Loc,
then
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,
Make_Set_Finalize_Address_Ptr_Call (Loc,
Typ => Etype (Function_Id),