[LLVMdev] LLVM asserts
David Greene
dag at cray.com
Wed Aug 19 14:34:34 PDT 2009
On Wednesday 19 August 2009 11:29, Chris Lattner wrote:
> On Aug 19, 2009, at 9:02 AM, Kenneth Uildriks wrote:
> > How do you get LLVM methods to return or throw an error to the
> > caller's code rather than aborting the process? I'd like my compiler
> > to be able to print diagnostic messages, including language source
> > lines, whenever LLVM reports a problem.
>
> Hi Kenneth,
>
> Recoverable errors are handled with llvm/Support/ErrorHandling.h. We
> use asserts for conditions that "cannot happen". These are internal
> errors and are not recoverable. The best way to not get one of these
> is for your compiler to not have bugs :)
We're dealing with this, but it's not a particularly friendly way to
operate. Most compilers have some kind of error reporting mechanism
and it would be helpful if LLVM provided a way to turn asserts and
aborts into hooks that could be plugged into an existing infrastructure.
Signal handlers aren't the best solution. Like I said, we're dealing with
it but it's something we should be aware of long-term.
-Dave
More information about the llvm-dev
mailing list