diff options
author | Filip Pizlo <fpizlo@apple.com> | 2013-11-04 02:22:25 +0000 |
---|---|---|
committer | Filip Pizlo <fpizlo@apple.com> | 2013-11-04 02:22:25 +0000 |
commit | fa0da86a59c502bfbfa01d3d5f694f18f6e8a717 (patch) | |
tree | 770dbb27d0618c91eca701bde217d71e3dd33e64 /include | |
parent | 4ebe64ae7ec729b29964b355face33af0c4ce424 (diff) | |
download | external_llvm-fa0da86a59c502bfbfa01d3d5f694f18f6e8a717.zip external_llvm-fa0da86a59c502bfbfa01d3d5f694f18f6e8a717.tar.gz external_llvm-fa0da86a59c502bfbfa01d3d5f694f18f6e8a717.tar.bz2 |
Make the pretty stack trace be an opt-in, rather than opt-out, facility. Enable pretty
stack traces by default if you use PrettyStackTraceProgram, so that existing LLVM-based
tools will continue to get it without any changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193971 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm-c/Core.h | 10 | ||||
-rw-r--r-- | include/llvm/Support/PrettyStackTrace.h | 10 |
2 files changed, 8 insertions, 12 deletions
diff --git a/include/llvm-c/Core.h b/include/llvm-c/Core.h index 88204ef..e18c77c 100644 --- a/include/llvm-c/Core.h +++ b/include/llvm-c/Core.h @@ -434,13 +434,11 @@ void LLVMInstallFatalErrorHandler(LLVMFatalErrorHandler Handler); void LLVMResetFatalErrorHandler(void); /** - * Disable LLVM's built-in stack trace code. This must be called before any - * other LLVM APIs; otherwise the results are undefined. - * - * FIXME: This API should be replaced by a LLVMEnablePrettyStackTrace() - * function; the default should be that pretty stack traces are disabled. + * Enable LLVM's built-in stack trace code. This intercepts the OS's crash + * signals and prints which component of LLVM you were in at the time if the + * crash. */ -void LLVMDisablePrettyStackTrace(void); +void LLVMEnablePrettyStackTrace(void); /** * @defgroup LLVMCCoreContext Contexts diff --git a/include/llvm/Support/PrettyStackTrace.h b/include/llvm/Support/PrettyStackTrace.h index 2122e06..4f68fca 100644 --- a/include/llvm/Support/PrettyStackTrace.h +++ b/include/llvm/Support/PrettyStackTrace.h @@ -21,11 +21,7 @@ namespace llvm { class raw_ostream; - /// DisablePrettyStackTrace - Set this to true to disable this module. This - /// might be necessary if the host application installs its own signal - /// handlers which conflict with the ones installed by this module. - /// Defaults to false. - extern bool DisablePrettyStackTrace; + void EnablePrettyStackTrace(); /// PrettyStackTraceEntry - This class is used to represent a frame of the /// "pretty" stack trace that is dumped when a program crashes. You can define @@ -64,7 +60,9 @@ namespace llvm { const char *const *ArgV; public: PrettyStackTraceProgram(int argc, const char * const*argv) - : ArgC(argc), ArgV(argv) {} + : ArgC(argc), ArgV(argv) { + EnablePrettyStackTrace(); + } virtual void print(raw_ostream &OS) const LLVM_OVERRIDE; }; |