Subversion Repositories QNX 8.QNX8 LLVM/Clang compiler suite

Rev

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