diff options
| author | Roman Divacky <rdivacky@FreeBSD.org> | 2010-05-27 15:15:58 +0000 | 
|---|---|---|
| committer | Roman Divacky <rdivacky@FreeBSD.org> | 2010-05-27 15:15:58 +0000 | 
| commit | abdf259d487163e72081a8cf4991b1617206b41e (patch) | |
| tree | 9fad9a5d5dd8c4ff54af48edad9c8cc26dd5fda1 /lib/Support/ErrorHandling.cpp | |
| parent | 59161dfae3225dd9151afbc76ca9074598c0c605 (diff) | |
Notes
Diffstat (limited to 'lib/Support/ErrorHandling.cpp')
| -rw-r--r-- | lib/Support/ErrorHandling.cpp | 7 | 
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/Support/ErrorHandling.cpp b/lib/Support/ErrorHandling.cpp index 56a171cb7d37..7e7ca9debe9a 100644 --- a/lib/Support/ErrorHandling.cpp +++ b/lib/Support/ErrorHandling.cpp @@ -16,6 +16,7 @@  #include "llvm/Support/Debug.h"  #include "llvm/Support/ErrorHandling.h"  #include "llvm/Support/raw_ostream.h" +#include "llvm/System/Signals.h"  #include "llvm/System/Threading.h"  #include <cassert>  #include <cstdlib> @@ -52,6 +53,12 @@ void llvm::report_fatal_error(const Twine &reason) {    } else {      ErrorHandler(ErrorHandlerUserData, reason.str());    } + +  // If we reached here, we are failing ungracefully. Run the interrupt handlers +  // to make sure any special cleanups get done, in particular that we remove +  // files registered with RemoveFileOnSignal. +  sys::RunInterruptHandlers(); +    exit(1);  }  | 
