[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