[cfe-commits] r167534 - in /cfe/trunk: lib/CodeGen/CGException.cpp lib/CodeGen/CGObjCGNU.cpp lib/CodeGen/CodeGenFunction.h test/CodeGenObjC/gnu-exceptions.m

John McCall rjmccall at apple.com
Sun Nov 11 00:41:06 PST 2012


On Nov 7, 2012, at 8:50 AM, David Chisnall wrote:
> Author: theraven
> Date: Wed Nov  7 10:50:40 2012
> New Revision: 167534
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=167534&view=rev
> Log:
> Fix the Objective-C exception rethrow from cleanups (GNU runtimes).  Note that
> a bug in the inliner still causes the wrong thing to happen at -O2 and above
> (PR14116).

If you're going to do this, you need to have two different EH-resume blocks.
The way it's written right now, whichever you ask for first is going to be what
you get, even for later requests with a different parameter.

But really, I don't understand why you need this parameter at all.  The only
place you're passing false is when asking for the block to branch to
when an exception-specification fails to trigger.  This is actually still the
"falling off the end of the EH scope" case, and should still be emitted with
a resume instruction.  I don't think there's any 'resume' case where you
actually want to call the rethrow function.

John.



More information about the cfe-commits mailing list