-- { dg-do run } with Ada.Unchecked_Deallocation; with Unc_Memops; procedure Unc_Memfree is type List is array (Natural range <>) of Integer; for List'Alignment use Standard'Maximum_Alignment; type Fat_List_Access is access all List; type Thin_List_Access is access all List; for Thin_List_Access'Size use Standard'Address_Size; procedure Release_Fat is new Ada.Unchecked_Deallocation (Object => List, Name => Fat_List_Access); procedure Release_Thin is new Ada.Unchecked_Deallocation (Object => List, Name => Thin_List_Access); My_Fat_List : Fat_List_Access; My_Thin_List : Thin_List_Access; begin Unc_Memops.Expect_Symetry (True); My_Fat_List := new List (1 .. 3); Release_Fat (My_Fat_List); My_Thin_List := new List (1 .. 3); Release_Thin (My_Thin_List); Unc_Memops.Expect_Symetry (False); end;