1-- { dg-do run } 2 3with Interfaces.C; use Interfaces.C; 4with Interfaces.C.Strings; use Interfaces.C.Strings; 5with Ada.Strings.Unbounded; use Ada.Strings.Unbounded; 6 7procedure memorytest is 8 9 function malloc (size: size_t) return chars_ptr; 10 pragma Import (C, malloc); 11 12 C : chars_ptr; 13 14begin 15 -- Allocate a string in C ... 16 C := malloc (1000); 17 -- ... and free it with the GNAT runtime 18 Free (C); 19 20 -- now allocate something completely unrelated and free it 21 declare 22 A2 : Unbounded_String := To_Unbounded_String ("hello"); 23 begin 24 null; 25 end; 26end; 27