[llvm-commits] [llvm-gcc-4.0] r43098 - /llvm-gcc-4.0/trunk/gcc/llvm-convert.cpp

Duncan Sands baldrick at free.fr
Thu Oct 18 02:14:35 PDT 2007


On Thursday 18 October 2007 10:56:40 Bill Wendling wrote:
> On Oct 18, 2007, at 1:45 AM, Duncan Sands wrote:
> 
> >>> Thanks Bill, the patch looks fine.  This needs a testcase and needs
> >>> to be applied to 4.2 if it has the same problem,
> >>>
> >> Will do.
> >
> > In 4.2 the unwind-resume function is configurable.   For objc with  
> > SJLJ
> > exceptions it should be _Unwind_SjLj_Resume.  If this is not  
> > correct for
> > objc, this can be changed in objc_init_exceptions.
> >
> In the case of this fix, we don't want to use even  
> _Unwind_SjLj_Resume (it's what I tried initially and got the same  
> type of error).

So how do you continue unwinding exceptions?  If code should never
get to the unwind block then you can always make the unwind-resume
function be a call to abort() for objc with sjlj.  That said, I
suggest you read the comments in ada/raise.c starting from line 368
(llvm-gcc-4.0).  I would be amazed if sjlj really works without
proper tables, except in easy cases.

Best wishes,

Duncan.



More information about the llvm-commits mailing list