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 -- Uncomment the exports below to really exercise the alternate versions. -- This only works when using an installed version of the tools which -- grabs the runtime library objects from an archive, hence doesn't force -- the inclusion of s-memory.o. -- pragma Export (C, Alloc, "__gnat_malloc"); -- pragma Export (C, Free, "__gnat_free"); -- pragma Export (C, Realloc, "__gnat_realloc"); end;