diff options
Diffstat (limited to 'gcc-4.8/gcc/ada/s-memory-vms_64.ads')
-rw-r--r-- | gcc-4.8/gcc/ada/s-memory-vms_64.ads | 129 |
1 files changed, 0 insertions, 129 deletions
diff --git a/gcc-4.8/gcc/ada/s-memory-vms_64.ads b/gcc-4.8/gcc/ada/s-memory-vms_64.ads deleted file mode 100644 index 8a900be85..000000000 --- a/gcc-4.8/gcc/ada/s-memory-vms_64.ads +++ /dev/null @@ -1,129 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT RUN-TIME COMPONENTS -- --- -- --- S Y S T E M . M E M O R Y -- --- -- --- S p e c -- --- -- --- Copyright (C) 2001-2011, Free Software Foundation, Inc. -- --- -- --- GNAT is free software; you can redistribute it and/or modify it under -- --- terms of the GNU General Public License as published by the Free Soft- -- --- ware Foundation; either version 3, or (at your option) any later ver- -- --- sion. GNAT is distributed in the hope that it will be useful, but WITH- -- --- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -- --- or FITNESS FOR A PARTICULAR PURPOSE. -- --- -- --- As a special exception under Section 7 of GPL version 3, you are granted -- --- additional permissions described in the GCC Runtime Library Exception, -- --- version 3.1, as published by the Free Software Foundation. -- --- -- --- You should have received a copy of the GNU General Public License and -- --- a copy of the GCC Runtime Library Exception along with this program; -- --- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -- --- <http://www.gnu.org/licenses/>. -- --- -- --- GNAT was originally developed by the GNAT team at New York University. -- --- Extensive contributions were provided by Ada Core Technologies Inc. -- --- -- ------------------------------------------------------------------------------- - --- This package provides the low level memory allocation/deallocation --- mechanisms used by GNAT for VMS 64 bit. - --- To provide an alternate implementation, simply recompile the modified --- body of this package with gnatmake -u -a -g s-memory.adb and make sure --- that the ali and object files for this unit are found in the object --- search path. - --- This unit may be used directly from an application program by providing --- an appropriate WITH, and the interface can be expected to remain stable. - -pragma Compiler_Unit; - -package System.Memory is - pragma Elaborate_Body; - - type size_t is mod 2 ** Standard'Address_Size; - -- Note: the reason we redefine this here instead of using the - -- definition in Interfaces.C is that we do not want to drag in - -- all of Interfaces.C just because System.Memory is used. - - function Alloc (Size : size_t) return System.Address; - -- This is the low level allocation routine. Given a size in storage - -- units, it returns the address of a maximally aligned block of - -- memory. The implementation of this routine is guaranteed to be - -- task safe, and also aborts are deferred if necessary. - -- - -- If size_t is set to size_t'Last on entry, then a Storage_Error - -- exception is raised with a message "object too large". - -- - -- If size_t is set to zero on entry, then a minimal (but non-zero) - -- size block is allocated. - -- - -- Note: this is roughly equivalent to the standard C malloc call - -- with the additional semantics as described above. - - function Alloc32 (Size : size_t) return System.Address; - -- Equivalent to Alloc except on VMS 64 bit where it invokes - -- 32 bit malloc. - - procedure Free (Ptr : System.Address); - -- This is the low level free routine. It frees a block previously - -- allocated with a call to Alloc. As in the case of Alloc, this - -- call is guaranteed task safe, and aborts are deferred. - -- - -- Note: this is roughly equivalent to the standard C free call - -- with the additional semantics as described above. - - function Realloc - (Ptr : System.Address; - Size : size_t) return System.Address; - -- This is the low level reallocation routine. It takes an existing - -- block address returned by a previous call to Alloc or Realloc, - -- and reallocates the block. The size can either be increased or - -- decreased. If possible the reallocation is done in place, so that - -- the returned result is the same as the value of Ptr on entry. - -- However, it may be necessary to relocate the block to another - -- address, in which case the information is copied to the new - -- block, and the old block is freed. The implementation of this - -- routine is guaranteed to be task safe, and also aborts are - -- deferred as necessary. - -- - -- If size_t is set to size_t'Last on entry, then a Storage_Error - -- exception is raised with a message "object too large". - -- - -- If size_t is set to zero on entry, then a minimal (but non-zero) - -- size block is allocated. - -- - -- Note: this is roughly equivalent to the standard C realloc call - -- with the additional semantics as described above. - - function Realloc32 - (Ptr : System.Address; - Size : size_t) return System.Address; - -- Equivalent to Realloc except on VMS 64 bit where it invokes - -- 32 bit realloc. - -private - - -- The following names are used from the generated compiler code - - pragma Export (C, Alloc, "__gnat_malloc"); - pragma Export (C, Alloc32, "__gnat_malloc32"); - pragma Export (C, Free, "__gnat_free"); - pragma Export (C, Realloc, "__gnat_realloc"); - pragma Export (C, Realloc32, "__gnat_realloc32"); - - function C_malloc32 (Size : size_t) return System.Address; - pragma Import (C, C_malloc32, "_malloc32"); - -- An alias for malloc for allocating 32bit memory on 64bit VMS - - function C_realloc32 - (Ptr : System.Address; - Size : size_t) return System.Address; - pragma Import (C, C_realloc32, "_realloc32"); - -- An alias for realloc for allocating 32bit memory on 64bit VMS - -end System.Memory; |