utils2.c (maybe_wrap_malloc): Fix crash when allocating very large object on VMS.

2010-10-11  Tristan Gingold  <gingold@adacore.com>

	* gcc-interface/utils2.c (maybe_wrap_malloc): Fix crash when allocating
	very large object on VMS.

From-SVN: r165288
This commit is contained in:
Tristan Gingold 2010-10-11 09:49:37 +00:00 committed by Arnaud Charlet
parent 76e3504fad
commit 9c8e862b2e
2 changed files with 9 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2010-10-11 Tristan Gingold <gingold@adacore.com>
* gcc-interface/utils2.c (maybe_wrap_malloc): Fix crash when allocating
very large object on VMS.
2010-10-11 Javier Miranda <miranda@adacore.com>
* sem_ch10.adb (Analyze_With_Clause): Add missing test to ensure

View File

@ -1820,9 +1820,10 @@ maybe_wrap_malloc (tree data_size, tree data_type, Node_Id gnat_node)
/* On VMS, if pointers are 64-bit and the allocator size is 32-bit or
Convention C, allocate 32-bit memory. */
if (TARGET_ABI_OPEN_VMS
&& (POINTER_SIZE == 64
&& (UI_To_Int (Esize (Etype (gnat_node))) == 32
|| Convention (Etype (gnat_node)) == Convention_C)))
&& POINTER_SIZE == 64
&& Nkind (gnat_node) == N_Allocator
&& (UI_To_Int (Esize (Etype (gnat_node))) == 32
|| Convention (Etype (gnat_node)) == Convention_C))
malloc_ptr = build_call_1_expr (malloc32_decl, size_to_malloc);
else
malloc_ptr = build_call_1_expr (malloc_decl, size_to_malloc);