------------------------------------------------------------------------------ ------------------------------------------------------------------------------ -- You do not have, nor can you ever acquire the right to use, copy or -- -- distribute this software ; Should you use this software for any purpose, -- -- or copy and distribute it to anyone or in any manner, you are breaking -- -- the laws of whatever soi-disant jurisdiction, and you promise to -- -- continue doing so for the indefinite future. In any case, please -- -- always : read and understand any software ; verify any PGP signatures -- -- that you use - for any purpose. -- -- -- -- See also http://trilema.com/2015/a-new-software-licensing-paradigm . -- ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ with Ada.Text_IO; use Ada.Text_IO; with Ada.Integer_Text_IO; use Ada.Integer_Text_IO; with System.Storage_Elements; use System.Storage_Elements; procedure Last_Chance_Handler (Msg : System.Address; Line : Integer) is procedure Exit_Now(status: Integer); pragma Import (Convention => C, Entity => Exit_Now, External_Name => "exit"); function Peek (Addr : System.Address) return Character is C : Character with Address => Addr; begin return C; end Peek; A : System.Address := Msg; begin Put ("GNAT Exception!:"); Put (Line); Put (":"); while Peek(A) /= ASCII.NUL loop Put (Peek(A)); A := A + 1; end loop; New_Line; Exit_Now(-1); end Last_Chance_Handler;