]> granicus.if.org Git - clang/commit
Fix fragile-ABI ObjC exceptions in the presence of optimization with
authorJohn McCall <rjmccall@apple.com>
Sat, 31 Jul 2010 23:20:56 +0000 (23:20 +0000)
committerJohn McCall <rjmccall@apple.com>
Sat, 31 Jul 2010 23:20:56 +0000 (23:20 +0000)
commit87bb5822bfa4baea23a3d9273df266777f3ab796
tree130bcc2d8f166b2b560c377d69871f4aea97d7ad
parentf9ae8f9f763377eb8657a3023616a701f820a185
Fix fragile-ABI ObjC exceptions in the presence of optimization with
the magic of inline assembly.  Essentially we use read and write hazards
on the set of local variables to force flushing locals to memory
immediately before any protected calls and to inhibit optimizing locals
across the setjmp->catch edge.  Fixes rdar://problem/8160285

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109960 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/CGObjCMac.cpp
test/CodeGenObjC/exceptions.m
test/CodeGenObjC/synchronized.m