summaryrefslogtreecommitdiffstats
path: root/clang/include/clang-c
diff options
context:
space:
mode:
authorJan Korous <jkorous@apple.com>2019-09-12 22:55:55 +0000
committerJan Korous <jkorous@apple.com>2019-09-12 22:55:55 +0000
commitf7d2376b98728a10143bd3bb715f07b01ee2f5d1 (patch)
treea81f79e0e116c1140926a87ff60bd6b2fd9dca8b /clang/include/clang-c
parent079e2104633489e9b99c17c0c1426db11d69bb2f (diff)
downloadbcm5719-llvm-f7d2376b98728a10143bd3bb715f07b01ee2f5d1.tar.gz
bcm5719-llvm-f7d2376b98728a10143bd3bb715f07b01ee2f5d1.zip
[libclang] Expose abort()-ing LLVM fatal error handler
Differential Revision: https://reviews.llvm.org/D66775 llvm-svn: 371787
Diffstat (limited to 'clang/include/clang-c')
-rw-r--r--clang/include/clang-c/FatalErrorHandler.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/clang/include/clang-c/FatalErrorHandler.h b/clang/include/clang-c/FatalErrorHandler.h
new file mode 100644
index 00000000000..74c9a8fe98b
--- /dev/null
+++ b/clang/include/clang-c/FatalErrorHandler.h
@@ -0,0 +1,33 @@
+/*===-- clang-c/FatalErrorHandler.h - Fatal Error Handling --------*- C -*-===*\
+|* *|
+|* Part of the LLVM Project, under the Apache License v2.0 with LLVM *|
+|* Exceptions. *|
+|* See https://llvm.org/LICENSE.txt for license information. *|
+|* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception *|
+|* *|
+\*===----------------------------------------------------------------------===*/
+
+#ifndef LLVM_CLANG_C_FATAL_ERROR_HANDLER_H
+#define LLVM_CLANG_C_FATAL_ERROR_HANDLER_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * Installs error handler that prints error message to stderr and calls abort().
+ * Replaces currently installed error handler (if any).
+ */
+void clang_install_aborting_llvm_fatal_error_handler();
+
+/**
+ * Removes currently installed error handler (if any).
+ * If no error handler is intalled, the default strategy is to print error
+ * message to stderr and call exit(1).
+ */
+void clang_uninstall_llvm_fatal_error_handler();
+
+#ifdef __cplusplus
+}
+#endif
+#endif
OpenPOWER on IntegriCloud