Details | Last modification | View Log | RSS feed
| Rev | Author | Line No. | Line | 
|---|---|---|---|
| 14 | pmbaty | 1 | /*===-- llvm-c/ErrorHandling.h - Error Handling C Interface -------*- C -*-===*\ | 
| 2 | |*                                                                            *| | ||
| 3 | |* Part of the LLVM Project, under the Apache License v2.0 with LLVM          *| | ||
| 4 | |* Exceptions.                                                                *| | ||
| 5 | |* See https://llvm.org/LICENSE.txt for license information.                  *| | ||
| 6 | |* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception                    *| | ||
| 7 | |*                                                                            *| | ||
| 8 | |*===----------------------------------------------------------------------===*| | ||
| 9 | |*                                                                            *| | ||
| 10 | |* This file defines the C interface to LLVM's error handling mechanism.      *| | ||
| 11 | |*                                                                            *| | ||
| 12 | \*===----------------------------------------------------------------------===*/ | ||
| 13 | |||
| 14 | #ifndef LLVM_C_ERRORHANDLING_H | ||
| 15 | #define LLVM_C_ERRORHANDLING_H | ||
| 16 | |||
| 17 | #include "llvm-c/ExternC.h" | ||
| 18 | |||
| 19 | LLVM_C_EXTERN_C_BEGIN | ||
| 20 | |||
| 21 | /** | ||
| 22 |  * @addtogroup LLVMCError | ||
| 23 |  * | ||
| 24 |  * @{ | ||
| 25 |  */ | ||
| 26 | |||
| 27 | typedef void (*LLVMFatalErrorHandler)(const char *Reason); | ||
| 28 | |||
| 29 | /** | ||
| 30 |  * Install a fatal error handler. By default, if LLVM detects a fatal error, it | ||
| 31 |  * will call exit(1). This may not be appropriate in many contexts. For example, | ||
| 32 |  * doing exit(1) will bypass many crash reporting/tracing system tools. This | ||
| 33 |  * function allows you to install a callback that will be invoked prior to the | ||
| 34 |  * call to exit(1). | ||
| 35 |  */ | ||
| 36 | void LLVMInstallFatalErrorHandler(LLVMFatalErrorHandler Handler); | ||
| 37 | |||
| 38 | /** | ||
| 39 |  * Reset the fatal error handler. This resets LLVM's fatal error handling | ||
| 40 |  * behavior to the default. | ||
| 41 |  */ | ||
| 42 | void LLVMResetFatalErrorHandler(void); | ||
| 43 | |||
| 44 | /** | ||
| 45 |  * Enable LLVM's built-in stack trace code. This intercepts the OS's crash | ||
| 46 |  * signals and prints which component of LLVM you were in at the time if the | ||
| 47 |  * crash. | ||
| 48 |  */ | ||
| 49 | void LLVMEnablePrettyStackTrace(void); | ||
| 50 | |||
| 51 | /** | ||
| 52 |  * @} | ||
| 53 |  */ | ||
| 54 | |||
| 55 | LLVM_C_EXTERN_C_END | ||
| 56 | |||
| 57 | #endif |