From 01cbe441b31f332d4f0678eb4dbd583cc17e946a Mon Sep 17 00:00:00 2001 From: Fariborz Jahanian Date: Wed, 16 Dec 2009 23:13:33 +0000 Subject: Allow pointer convesion of an objective-c pointer to 'void *' to mimic gcc's behavior. (fixes radar 7477351). llvm-svn: 91570 --- clang/test/SemaObjCXX/objc-pointer-conv.mm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 clang/test/SemaObjCXX/objc-pointer-conv.mm (limited to 'clang/test/SemaObjCXX/objc-pointer-conv.mm') diff --git a/clang/test/SemaObjCXX/objc-pointer-conv.mm b/clang/test/SemaObjCXX/objc-pointer-conv.mm new file mode 100644 index 00000000000..c03e3aaad3d --- /dev/null +++ b/clang/test/SemaObjCXX/objc-pointer-conv.mm @@ -0,0 +1,26 @@ +// RUN: %clang_cc1 -fsyntax-only -verify %s + +typedef const void * VoidStar; + +typedef struct __CFDictionary * CFMDRef; + +void RandomFunc(CFMDRef theDict, const void *key, const void *value); + +@interface Foo +- (void)_apply:(void (*)(const void *, const void *, void *))func context:(void *)context; +- (void)a:(id *)objects b:(id *)keys; +@end + +@implementation Foo +- (void)_apply:(void (*)(const void *, const void *, void *))func context:(void *)context { + id item; + id obj; + func(item, obj, context); +} + +- (void)a:(id *)objects b:(id *)keys { + VoidStar dict; + id key; + RandomFunc((CFMDRef)dict, key, objects[3]); +} +@end -- cgit v1.2.3