1-- { dg-do run } 2 3with Ada.Unchecked_Deallocation; 4with Unc_Memops; 5 6procedure Unc_Memfree is 7 8 type List is array (Natural range <>) of Integer; 9 for List'Alignment use Standard'Maximum_Alignment; 10 11 type Fat_List_Access is access all List; 12 13 type Thin_List_Access is access all List; 14 for Thin_List_Access'Size use Standard'Address_Size; 15 16 procedure Release_Fat is new Ada.Unchecked_Deallocation 17 (Object => List, Name => Fat_List_Access); 18 19 procedure Release_Thin is new Ada.Unchecked_Deallocation 20 (Object => List, Name => Thin_List_Access); 21 22 My_Fat_List : Fat_List_Access; 23 My_Thin_List : Thin_List_Access; 24begin 25 Unc_Memops.Expect_Symetry (True); 26 27 My_Fat_List := new List (1 .. 3); 28 Release_Fat (My_Fat_List); 29 30 My_Thin_List := new List (1 .. 3); 31 Release_Thin (My_Thin_List); 32 33 Unc_Memops.Expect_Symetry (False); 34end; 35