diff options
author | Chris Lattner <sabre@nondot.org> | 2009-07-16 06:17:45 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-07-16 06:17:45 +0000 |
commit | 90bb3f3706cdf4e26df5e2c977d9232ba7b89c4e (patch) | |
tree | efef596bd2dfbe27b116a3455b40d216fa6bb788 | |
parent | 8e25e2d801bb1119cea080c7c860adcfbf85d65d (diff) | |
download | llvm-90bb3f3706cdf4e26df5e2c977d9232ba7b89c4e.tar.gz llvm-90bb3f3706cdf4e26df5e2c977d9232ba7b89c4e.tar.bz2 llvm-90bb3f3706cdf4e26df5e2c977d9232ba7b89c4e.tar.xz |
add a knob to turn off PrettyStackTrace globally. Patch by Zoltan
Varga!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75897 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/Support/PrettyStackTrace.h | 6 | ||||
-rw-r--r-- | lib/Support/PrettyStackTrace.cpp | 7 |
2 files changed, 12 insertions, 1 deletions
diff --git a/include/llvm/Support/PrettyStackTrace.h b/include/llvm/Support/PrettyStackTrace.h index 909d286f28..0db84e1a14 100644 --- a/include/llvm/Support/PrettyStackTrace.h +++ b/include/llvm/Support/PrettyStackTrace.h @@ -18,6 +18,12 @@ namespace llvm { class raw_ostream; + + /// DisablePrettyStackTrace - Set this to true to disable this module. This + /// might be neccessary if the host application installs its own signal + /// handlers which conflict with the ones installed by this module. + /// Defaults to false. + extern bool DisablePrettyStackTrace; /// PrettyStackTraceEntry - This class is used to represent a frame of the /// "pretty" stack trace that is dumped when a program crashes. You can define diff --git a/lib/Support/PrettyStackTrace.cpp b/lib/Support/PrettyStackTrace.cpp index 14290a1284..536d9b023f 100644 --- a/lib/Support/PrettyStackTrace.cpp +++ b/lib/Support/PrettyStackTrace.cpp @@ -19,6 +19,10 @@ #include "llvm/ADT/SmallString.h" using namespace llvm; +namespace llvm { + bool DisablePrettyStackTrace = false; +} + // FIXME: This should be thread local when llvm supports threads. static sys::ThreadLocal<const PrettyStackTraceEntry> PrettyStackTraceHead; @@ -75,7 +79,8 @@ static void CrashHandler(void *Cookie) { } static bool RegisterCrashPrinter() { - sys::AddSignalHandler(CrashHandler, 0); + if (!DisablePrettyStackTrace) + sys::AddSignalHandler(CrashHandler, 0); return false; } |