[llvm] r193937 - When LLVM is embedded in a larger application, it's not OK for LLVM to intercept crashes. LLVM already has
Sean Silva
silvas at purdue.edu
Sat Nov 2 20:53:56 PDT 2013
+ * Disable LLVM's built-in stack trace code. This must be called before any
+ * other LLVM APIs; otherwise the results are undefined.
I wonder if we have any other functions that "must be called before any
other LLVM APIs". It seems likely to provoke confusion. Can you narrow it
down to a single "init" function that this must be called before?
-- Sean Silva
On Sat, Nov 2, 2013 at 8:29 PM, Filip Pizlo <fpizlo at apple.com> wrote:
> Author: fpizlo
> Date: Sat Nov 2 19:29:47 2013
> New Revision: 193937
>
> URL: http://llvm.org/viewvc/llvm-project?rev=193937&view=rev
> Log:
> When LLVM is embedded in a larger application, it's not OK for LLVM to
> intercept crashes. LLVM already has
> the ability to disable this functionality. This patch exposes it via the
> C API.
>
>
> Modified:
> llvm/trunk/include/llvm-c/Core.h
> llvm/trunk/lib/Support/PrettyStackTrace.cpp
>
> Modified: llvm/trunk/include/llvm-c/Core.h
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm-c/Core.h?rev=193937&r1=193936&r2=193937&view=diff
>
> ==============================================================================
> --- llvm/trunk/include/llvm-c/Core.h (original)
> +++ llvm/trunk/include/llvm-c/Core.h Sat Nov 2 19:29:47 2013
> @@ -434,6 +434,12 @@ void LLVMInstallFatalErrorHandler(LLVMFa
> 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.
> + */
> +void LLVMDisablePrettyStackTrace(void);
> +
> +/**
> * @defgroup LLVMCCoreContext Contexts
> *
> * Contexts are execution states for the core LLVM IR system.
>
> Modified: llvm/trunk/lib/Support/PrettyStackTrace.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/PrettyStackTrace.cpp?rev=193937&r1=193936&r2=193937&view=diff
>
> ==============================================================================
> --- llvm/trunk/lib/Support/PrettyStackTrace.cpp (original)
> +++ llvm/trunk/lib/Support/PrettyStackTrace.cpp Sat Nov 2 19:29:47 2013
> @@ -20,6 +20,7 @@
> #include "llvm/Support/ThreadLocal.h"
> #include "llvm/Support/Watchdog.h"
> #include "llvm/Support/raw_ostream.h"
> +#include "llvm-c/Core.h"
>
> #ifdef HAVE_CRASHREPORTERCLIENT_H
> #include <CrashReporterClient.h>
> @@ -147,3 +148,7 @@ void PrettyStackTraceProgram::print(raw_
> OS << ArgV[i] << ' ';
> OS << '\n';
> }
> +
> +void LLVMDisablePrettyStackTrace() {
> + DisablePrettyStackTrace = true;
> +}
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20131102/6e18e09b/attachment.html>
More information about the llvm-commits
mailing list