]>
Commit | Line | Data |
---|---|---|
19235870 RK |
1 | /**************************************************************************** |
2 | * * | |
3 | * GNAT COMPILER COMPONENTS * | |
4 | * * | |
5 | * R A I S E * | |
6 | * * | |
7 | * C Implementation File * | |
8 | * * | |
8d0d46f4 | 9 | * Copyright (C) 1992-2021, Free Software Foundation, Inc. * |
19235870 RK |
10 | * * |
11 | * GNAT is free software; you can redistribute it and/or modify it under * | |
12 | * terms of the GNU General Public License as published by the Free Soft- * | |
748086b7 | 13 | * ware Foundation; either version 3, or (at your option) any later ver- * |
19235870 RK |
14 | * sion. GNAT is distributed in the hope that it will be useful, but WITH- * |
15 | * OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * | |
748086b7 JJ |
16 | * or FITNESS FOR A PARTICULAR PURPOSE. * |
17 | * * | |
18 | * As a special exception under Section 7 of GPL version 3, you are granted * | |
19 | * additional permissions described in the GCC Runtime Library Exception, * | |
20 | * version 3.1, as published by the Free Software Foundation. * | |
21 | * * | |
22 | * You should have received a copy of the GNU General Public License and * | |
23 | * a copy of the GCC Runtime Library Exception along with this program; * | |
24 | * see the files COPYING3 and COPYING.RUNTIME respectively. If not, see * | |
25 | * <http://www.gnu.org/licenses/>. * | |
19235870 RK |
26 | * * |
27 | * GNAT was originally developed by the GNAT team at New York University. * | |
71ff80dc | 28 | * Extensive contributions were provided by Ada Core Technologies Inc. * |
19235870 RK |
29 | * * |
30 | ****************************************************************************/ | |
31 | ||
cff7cd9b AC |
32 | /* Shared routines to support exception handling. __gnat_unhandled_terminate |
33 | is shared between all exception handling mechanisms. */ | |
19235870 RK |
34 | |
35 | #ifdef IN_RTS | |
a6fc663e | 36 | #include "runtime.h" |
19235870 RK |
37 | #else |
38 | #include "config.h" | |
39 | #include "system.h" | |
40 | #endif | |
41 | ||
42 | #include "adaint.h" | |
43 | #include "raise.h" | |
44 | ||
8afd02aa EB |
45 | #ifdef __cplusplus |
46 | extern "C" { | |
47 | #endif | |
48 | ||
19235870 RK |
49 | /* When an exception is raised for which no handler exists, the procedure |
50 | Ada.Exceptions.Unhandled_Exception is called, which performs the call to | |
51 | adafinal to complete finalization, and then prints out the error messages | |
52 | for the unhandled exception. The final step is to call this routine, which | |
53 | performs any system dependent cleanup required. */ | |
54 | ||
55 | void | |
9373164a | 56 | __gnat_unhandled_terminate (void) |
19235870 | 57 | { |
982f26e4 AC |
58 | /* Default termination handling */ |
59 | __gnat_os_exit (1); | |
fbf5a39b | 60 | } |
9e9bd455 | 61 | |
6cbfce7e AC |
62 | #ifndef IN_RTS |
63 | int | |
64 | __gnat_backtrace (void **array ATTRIBUTE_UNUSED, | |
abcf5174 AC |
65 | int size ATTRIBUTE_UNUSED, |
66 | void *exclude_min ATTRIBUTE_UNUSED, | |
67 | void *exclude_max ATTRIBUTE_UNUSED, | |
68 | int skip_frames ATTRIBUTE_UNUSED) | |
6cbfce7e AC |
69 | { |
70 | return 0; | |
71 | } | |
6cbfce7e | 72 | #endif |
9e9bd455 LG |
73 | #ifdef __cplusplus |
74 | } | |
75 | #endif |