[cfe-commits] r53695 - /cfe/trunk/Driver/RewriteObjC.cpp

Steve Naroff snaroff at apple.com
Wed Jul 16 11:58:12 PDT 2008


Author: snaroff
Date: Wed Jul 16 13:58:11 2008
New Revision: 53695

URL: http://llvm.org/viewvc/llvm-project?rev=53695&view=rev
Log:
RewriteObjC::Initialize(): add function decls used by @synchronized.
This fixes <rdar://problem/6040143> clang ObjC rewriter: @synchronized keyword inserts undeclared objc functions.

Modified:
    cfe/trunk/Driver/RewriteObjC.cpp

Modified: cfe/trunk/Driver/RewriteObjC.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/Driver/RewriteObjC.cpp?rev=53695&r1=53694&r2=53695&view=diff

==============================================================================
--- cfe/trunk/Driver/RewriteObjC.cpp (original)
+++ cfe/trunk/Driver/RewriteObjC.cpp Wed Jul 16 13:58:11 2008
@@ -337,6 +337,9 @@
   Preamble += "__OBJC_RW_EXTERN struct objc_object *objc_exception_extract(void *);\n";
   Preamble += "__OBJC_RW_EXTERN int objc_exception_match";
   Preamble += "(struct objc_class *, struct objc_object *);\n";
+  // @synchronized hooks.
+  Preamble += "__OBJC_RW_EXTERN void objc_sync_enter(struct objc_object *);\n";
+  Preamble += "__OBJC_RW_EXTERN void objc_sync_exit(struct objc_object *);\n";
   Preamble += "__OBJC_RW_EXTERN Protocol *objc_getProtocol(const char *);\n";
   Preamble += "#ifndef __FASTENUMERATIONSTATE\n";
   Preamble += "struct __objcFastEnumerationState {\n\t";





More information about the cfe-commits mailing list