xref: /freebsd-src/contrib/llvm-project/clang/include/clang-c/FatalErrorHandler.h (revision 5b27928474e6a4103d65b347544705c40c9618fd)
1a7dea167SDimitry Andric /*===-- clang-c/FatalErrorHandler.h - Fatal Error Handling --------*- C -*-===*\
2a7dea167SDimitry Andric |*                                                                            *|
3a7dea167SDimitry Andric |* Part of the LLVM Project, under the Apache License v2.0 with LLVM          *|
4a7dea167SDimitry Andric |* Exceptions.                                                                *|
5a7dea167SDimitry Andric |* See https://llvm.org/LICENSE.txt for license information.                  *|
6a7dea167SDimitry Andric |* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception                    *|
7a7dea167SDimitry Andric |*                                                                            *|
8a7dea167SDimitry Andric \*===----------------------------------------------------------------------===*/
9a7dea167SDimitry Andric 
10a7dea167SDimitry Andric #ifndef LLVM_CLANG_C_FATAL_ERROR_HANDLER_H
11a7dea167SDimitry Andric #define LLVM_CLANG_C_FATAL_ERROR_HANDLER_H
12a7dea167SDimitry Andric 
13*480093f4SDimitry Andric #include "clang-c/ExternC.h"
14*480093f4SDimitry Andric 
15*480093f4SDimitry Andric LLVM_CLANG_C_EXTERN_C_BEGIN
16a7dea167SDimitry Andric 
17a7dea167SDimitry Andric /**
18a7dea167SDimitry Andric  * Installs error handler that prints error message to stderr and calls abort().
19a7dea167SDimitry Andric  * Replaces currently installed error handler (if any).
20a7dea167SDimitry Andric  */
21a7dea167SDimitry Andric void clang_install_aborting_llvm_fatal_error_handler(void);
22a7dea167SDimitry Andric 
23a7dea167SDimitry Andric /**
24a7dea167SDimitry Andric  * Removes currently installed error handler (if any).
25a7dea167SDimitry Andric  * If no error handler is intalled, the default strategy is to print error
26a7dea167SDimitry Andric  * message to stderr and call exit(1).
27a7dea167SDimitry Andric  */
28a7dea167SDimitry Andric void clang_uninstall_llvm_fatal_error_handler(void);
29a7dea167SDimitry Andric 
30*480093f4SDimitry Andric LLVM_CLANG_C_EXTERN_C_END
31*480093f4SDimitry Andric 
32a7dea167SDimitry Andric #endif
33