[llvm-commits] [llvm-gcc-4.0] r43098 - /llvm-gcc-4.0/trunk/gcc/llvm-convert.cpp
Bill Wendling
isanbard at gmail.com
Wed Oct 17 15:10:14 PDT 2007
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
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;
More information about the llvm-commits
mailing list