[LLVMdev] 2.4 Pre-release (v1) Available for Testing

Chris Lattner clattner at apple.com
Sun Oct 12 10:03:28 PDT 2008


On Oct 12, 2008, at 7:26 AM, Duncan Sands wrote:

>>>> Which makes me curious, if I submitted a patch that got rid of  
>>>> llvms
>>>> use of abort()s all over the place, and replaces them with  
>>>> exceptions
>>>> (the program dies either way if it is unhandled, but with  
>>>> exceptions
>>>> you at least get a chance to handle it and recover),
>>>
>>> since LLVM may well be left in an inconsistent state internally if
>>> an exception is thrown, it wouldn't be safe to continue using it
>>> after catching an exception.
>>
>> The unwinding should clean things up,
>
> yes, but it currently doesn't always.  It takes careful design to  
> get a
> system that chugs on merrily in spite of exceptions.  LLVM wasn't  
> designed
> that way.  You can of course add code to make it robust - be my guest.

Again, while anyone is welcome to do this, it won't be accepted back  
into the main repository. There are better ways of accomplishing this  
than exceptions.  Exceptions have a huge cost on the whole system and  
LLVM has to serve multiple clients well.

-Chris



More information about the llvm-dev mailing list