[LLVMbugs] [Bug 7656] Clang generates incorrect IR for __attribute__((cleanup))

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Sat Jul 17 04:02:54 PDT 2010


http://llvm.org/bugs/show_bug.cgi?id=7656

David Chisnall <csdavec at swan.ac.uk> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|FIXED                       |

--- Comment #5 from David Chisnall <csdavec at swan.ac.uk> 2010-07-17 06:02:53 CDT ---
It's now half-fixed, but unfortunately now it breaks with foreign exceptions. 
If it's a catchall, the runtime will deliver the ObjC object.  If it's a
cleanup, the runtime will deliver the exception structure.  Rethrowing as if it
were an Objective-C object doesn't work if it not an Objective-C object (you
get some nonsense which the personality routine doesn't know how to handle
correctly).

Treating cleanups as catchalls is simply not a solution.  They have VERY
different semantics.

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list