]> granicus.if.org Git - clang/commit
initial support for ObjC exceptions with the GNU runtime:
authorChris Lattner <sabre@nondot.org>
Fri, 8 May 2009 00:11:50 +0000 (00:11 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 8 May 2009 00:11:50 +0000 (00:11 +0000)
commit5dc0867af17b3bd6f567897433853b2b4767446c
tree8e2a7bcb545bbb0a7e2baed67076e4241ad3950a
parentb03d9afa3f0522ca02139c9b55d1145369e32a0f
initial support for ObjC exceptions with the GNU runtime:

"This patch is a first pass at adding support for exceptions for the GNU runtime.  There are a few limitations at present:

- @synchronized() is not yet supported at all.  gcc currently emits calls to runtime library functions that don't exist for this directive.

- Only id @catch statements are currently working.  This is enough for NS_DURING and friends, but I need to spend more time reading the output from gcc -S to work out how it finds the class pointer to make arbitrary class type catch statements work.

- I've tested it with a few common cases[1] and the clang test suite (which doesn't test exceptions for the GNU runtime, but shows I haven't broken anything else), but there are probably a lot of cases I've missed."

Patch by David Chisnall!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71198 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/CGObjCGNU.cpp