brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.0 KiB · 8cd43f9 Raw
59 lines · c
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_H15#define LLVM_C_ERRORHANDLING_H16 17#include "llvm-c/ExternC.h"18#include "llvm-c/Visibility.h"19 20LLVM_C_EXTERN_C_BEGIN21 22/**23 * @addtogroup LLVMCError24 *25 * @{26 */27 28typedef void (*LLVMFatalErrorHandler)(const char *Reason);29 30/**31 * Install a fatal error handler. By default, if LLVM detects a fatal error, it32 * will call exit(1). This may not be appropriate in many contexts. For example,33 * doing exit(1) will bypass many crash reporting/tracing system tools. This34 * function allows you to install a callback that will be invoked prior to the35 * call to exit(1).36 */37LLVM_C_ABI void LLVMInstallFatalErrorHandler(LLVMFatalErrorHandler Handler);38 39/**40 * Reset the fatal error handler. This resets LLVM's fatal error handling41 * behavior to the default.42 */43LLVM_C_ABI void LLVMResetFatalErrorHandler(void);44 45/**46 * Enable LLVM's built-in stack trace code. This intercepts the OS's crash47 * signals and prints which component of LLVM you were in at the time if the48 * crash.49 */50LLVM_C_ABI void LLVMEnablePrettyStackTrace(void);51 52/**53 * @}54 */55 56LLVM_C_EXTERN_C_END57 58#endif59