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