From 48615ffe41e41e0cc232dfb61289b707ece37ea1 Mon Sep 17 00:00:00 2001 From: Daniel Dunbar Date: Fri, 8 Oct 2010 19:30:33 +0000 Subject: [PATCH] libclang: Disable LLVM pretty stack trace functionality, which inadvertently sets up signal handlers it shouldn't when we are being used a shared library. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116084 91177308-0d34-0410-b5e6-96231b3b80d8 --- tools/libclang/CIndex.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tools/libclang/CIndex.cpp b/tools/libclang/CIndex.cpp index 57367dd159..1dfabcac65 100644 --- a/tools/libclang/CIndex.cpp +++ b/tools/libclang/CIndex.cpp @@ -32,6 +32,7 @@ #include "clang/Lex/Preprocessor.h" #include "llvm/ADT/STLExtras.h" #include "llvm/Support/CrashRecoveryContext.h" +#include "llvm/Support/PrettyStackTrace.h" #include "llvm/Support/MemoryBuffer.h" #include "llvm/Support/raw_ostream.h" #include "llvm/Support/Timer.h" @@ -1919,6 +1920,10 @@ static bool EnabledMultithreading; extern "C" { CXIndex clang_createIndex(int excludeDeclarationsFromPCH, int displayDiagnostics) { + // Disable pretty stack trace functionality, which will otherwise be a very + // poor citizen of the world and set up all sorts of signal handlers. + llvm::DisablePrettyStackTrace = true; + // We use crash recovery to make some of our APIs more reliable, implicitly // enable it. llvm::CrashRecoveryContext::Enable(); -- 2.40.0