On Oct 17, 2007, at 3:10 PM, Bill Wendling wrote: > Author: void > Date: Wed Oct 17 17:10:14 2007 > New Revision: 43098 > > URL: http://llvm.org/viewvc/llvm-project?rev=43098&view=rev > Log: > When ObjC is using SJLJ exceptions, don't create an unwind basic block
Thanks Bill, the patch looks fine. This needs a testcase and needs to be applied to 4.2 if it has the same problem, -Chris > Modified: > llvm-gcc-4.0/trunk/gcc/llvm-convert.cpp > > Modified: llvm-gcc-4.0/trunk/gcc/llvm-convert.cpp > URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.0/trunk/gcc/ > llvm-convert.cpp?rev=43098&r1=43097&r2=43098&view=diff > > ====================================================================== > ======== > --- llvm-gcc-4.0/trunk/gcc/llvm-convert.cpp (original) > +++ llvm-gcc-4.0/trunk/gcc/llvm-convert.cpp Wed Oct 17 17:10:14 2007 > @@ -2777,7 +2777,9 @@ > // Do not turn intrinsic calls or no-throw calls into invokes. > if ((!isa<Function>(Callee) || !cast<Function>(Callee)- > >getIntrinsicID()) && > // Turn calls that throw that are inside of a cleanup scope > into invokes. > - !CurrentEHScopes.empty() && tree_could_throw_p(exp)) { > + !CurrentEHScopes.empty() && tree_could_throw_p(exp) && > + // Don't generate the unwind block for ObjC if it's using > SJLJ exceptions. > + !(c_dialect_objc() && flag_objc_sjlj_exceptions)) { > if (UnwindBB == 0) > UnwindBB = new BasicBlock("Unwind"); > UnwindBlock = UnwindBB; > > > _______________________________________________ > llvm-commits mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits _______________________________________________ llvm-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
