]>
Commit | Line | Data |
---|---|---|
cacbc350 RK |
1 | ------------------------------------------------------------------------------ |
2 | -- -- | |
3 | -- GNU ADA RUN-TIME LIBRARY (GNARL) COMPONENTS -- | |
4 | -- -- | |
5 | -- S Y S T E M . E R R O R _ R E P O R T I N G -- | |
6 | -- -- | |
7 | -- B o d y -- | |
8 | -- -- | |
fbf5a39b AC |
9 | -- Copyright (C) 1991-1994, Florida State University -- |
10 | -- Copyright (C) 1995-2003, Ada Core Technologies -- | |
cacbc350 RK |
11 | -- -- |
12 | -- GNARL is free software; you can redistribute it and/or modify it under -- | |
13 | -- terms of the GNU General Public License as published by the Free Soft- -- | |
14 | -- ware Foundation; either version 2, or (at your option) any later ver- -- | |
15 | -- sion. GNARL is distributed in the hope that it will be useful, but WITH- -- | |
16 | -- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -- | |
17 | -- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -- | |
18 | -- for more details. You should have received a copy of the GNU General -- | |
19 | -- Public License distributed with GNARL; see file COPYING. If not, write -- | |
20 | -- to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, -- | |
21 | -- MA 02111-1307, USA. -- | |
22 | -- -- | |
23 | -- As a special exception, if other files instantiate generics from this -- | |
24 | -- unit, or you link this unit with other files to produce an executable, -- | |
25 | -- this unit does not by itself cause the resulting executable to be -- | |
26 | -- covered by the GNU General Public License. This exception does not -- | |
27 | -- however invalidate any other reasons why the executable file might be -- | |
28 | -- covered by the GNU Public License. -- | |
29 | -- -- | |
fbf5a39b AC |
30 | -- GNARL was developed by the GNARL team at Florida State University. -- |
31 | -- Extensive contributions were provided by Ada Core Technologies, Inc. -- | |
cacbc350 RK |
32 | -- -- |
33 | ------------------------------------------------------------------------------ | |
34 | ||
35 | -- This package must not depend on anything else, since it may be | |
36 | -- called during elaboration of other packages. | |
37 | ||
38 | package body System.Error_Reporting is | |
39 | ||
40 | procedure Write (fildes : Integer; buf : System.Address; nbyte : Integer); | |
41 | pragma Import (C, Write, "write"); | |
42 | ||
43 | procedure Prog_Exit (Status : Integer); | |
44 | pragma No_Return (Prog_Exit); | |
45 | pragma Import (C, Prog_Exit, "exit"); | |
46 | ||
47 | Shutdown_Message : String := "failed run-time assertion : "; | |
48 | End_Of_Line : String := "" & ASCII.LF; | |
49 | ||
50 | -------------- | |
51 | -- Shutdown -- | |
52 | -------------- | |
53 | ||
54 | function Shutdown (M : in String) return Boolean is | |
55 | begin | |
56 | Write (2, Shutdown_Message'Address, Shutdown_Message'Length); | |
57 | Write (2, M'Address, M'Length); | |
58 | Write (2, End_Of_Line'Address, End_Of_Line'Length); | |
59 | ||
60 | -- This call should never return | |
61 | ||
62 | Prog_Exit (1); | |
63 | ||
64 | -- Return is just to keep Ada happy (return required) | |
65 | ||
66 | return False; | |
67 | end Shutdown; | |
68 | ||
69 | end System.Error_Reporting; |