From 59f05a48a7b0353090da2b8f878c2d760e55731c Mon Sep 17 00:00:00 2001 From: Steve Naroff Date: Wed, 16 Jul 2008 18:58:11 +0000 Subject: [PATCH] RewriteObjC::Initialize(): add function decls used by @synchronized. This fixes clang ObjC rewriter: @synchronized keyword inserts undeclared objc functions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53695 91177308-0d34-0410-b5e6-96231b3b80d8 --- Driver/RewriteObjC.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Driver/RewriteObjC.cpp b/Driver/RewriteObjC.cpp index 535cc0be3d..48cb9df074 100644 --- a/Driver/RewriteObjC.cpp +++ b/Driver/RewriteObjC.cpp @@ -337,6 +337,9 @@ void RewriteObjC::Initialize(ASTContext &context) { 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"; -- 2.50.1