Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / clang / tools / libclang / FatalErrorHandler.cpp
blob506b047c1b13f633b0db80911a0704d575907c78
1 /*===-- clang-c/FatalErrorHandler.cpp - Fatal Error Handling ------*- 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 \*===----------------------------------------------------------------------===*/
10 #include "clang-c/FatalErrorHandler.h"
11 #include "llvm/Support/ErrorHandling.h"
12 #include <stdio.h>
13 #include <stdlib.h>
15 static void aborting_fatal_error_handler(void *, const char *reason,
16 bool) {
17 // Write the result out to stderr avoiding errs() because raw_ostreams can
18 // call report_fatal_error.
19 fprintf(stderr, "LIBCLANG FATAL ERROR: %s\n", reason);
20 ::abort();
23 extern "C" {
24 void clang_install_aborting_llvm_fatal_error_handler(void) {
25 llvm::remove_fatal_error_handler();
26 llvm::install_fatal_error_handler(aborting_fatal_error_handler, nullptr);
29 void clang_uninstall_llvm_fatal_error_handler(void) {
30 llvm::remove_fatal_error_handler();