http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46256
Summary: Combination of protected type, interfaces and unchecked deallocation causes the compiler to crash. Product: gcc Version: 4.3.4 Status: UNCONFIRMED Severity: normal Priority: P3 Component: ada AssignedTo: unassig...@gcc.gnu.org ReportedBy: p...@msobczak.com with Ada.Unchecked_Deallocation; procedure Test is package P is type My_Interface is limited interface; procedure Do_Something (X : in out My_Interface) is abstract; end P; protected type My_Protected is new P.My_Interface with overriding procedure Do_Something; end My_Protected; protected body My_Protected is overriding procedure Do_Something is begin null; end Do_Something; end My_Protected; type My_Protected_Ptr is access My_Protected; procedure Free is new Ada.Unchecked_Deallocation (Object => My_Protected, Name => My_Protected_Ptr); Ptr : My_Protected_Ptr; begin -- here come dragons: --Free (Ptr); null; end Test; Uncommenting the indicated line causes all known compiler versions to crash with internal error.