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
This commit is contained in:
Chris Lattner 2009-07-16 06:17:45 +00:00
parent 8e25e2d801
commit 90bb3f3706
2 changed files with 12 additions and 1 deletions

View File

@ -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

View File

@ -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;
}