diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2009-12-16 23:13:33 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2009-12-16 23:13:33 +0000 |
commit | 01cbe441b31f332d4f0678eb4dbd583cc17e946a (patch) | |
tree | 06d89a1fdbd9da6bc739a8ab47f056aa6eb44523 /clang/test/SemaObjCXX/objc-pointer-conv.mm | |
parent | 8d0da8042b38b9a655a1096746ced04954b10a61 (diff) | |
download | bcm5719-llvm-01cbe441b31f332d4f0678eb4dbd583cc17e946a.tar.gz bcm5719-llvm-01cbe441b31f332d4f0678eb4dbd583cc17e946a.zip |
Allow pointer convesion of an objective-c pointer to
'void *' to mimic gcc's behavior. (fixes radar 7477351).
llvm-svn: 91570
Diffstat (limited to 'clang/test/SemaObjCXX/objc-pointer-conv.mm')
-rw-r--r-- | clang/test/SemaObjCXX/objc-pointer-conv.mm | 26 |
1 files changed, 26 insertions, 0 deletions
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 |