diff options
Diffstat (limited to 'gcc/testsuite/gnat.dg/unc_memops.ads')
-rw-r--r-- | gcc/testsuite/gnat.dg/unc_memops.ads | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/gcc/testsuite/gnat.dg/unc_memops.ads b/gcc/testsuite/gnat.dg/unc_memops.ads new file mode 100644 index 000000000..e64b3a62c --- /dev/null +++ b/gcc/testsuite/gnat.dg/unc_memops.ads @@ -0,0 +1,30 @@ +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; |