summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gnat.dg/unc_memops.ads
blob: abc4fa7af2e5ecf1452e0f11fb92784346657c06 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
with System;

package Unc_Memops is
   pragma Elaborate_Body;

   type size_t is mod 2 ** Standard'Address_Size;
   subtype addr_t is System.Address;

   function  Alloc (Size : size_t) return addr_t;
   procedure Free (Ptr : addr_t);
   function  Realloc (Ptr  : addr_t; Size : size_t) return addr_t;

   procedure Expect_Symetry (Status : Boolean);
   --  Whether we expect "free"s to match "alloc" return values in
   --  reverse order, like alloc->X, alloc->Y should be followed by
   --  free Y, free X.

private

   pragma Export (C, Alloc,   "__gnat_malloc");
   pragma Export (C, Free,    "__gnat_free");
   pragma Export (C, Realloc, "__gnat_realloc");

end;