1// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fsyntax-only -verify -fblocks -Wno-objc-root-class %s 2// RUN: %clang_cc1 -x objective-c++ -triple x86_64-apple-darwin10 -fsyntax-only -verify -fblocks -Wno-objc-root-class %s 3// expected-no-diagnostics 4 5// rdar://16808765 6 7@interface NSObject 8+ (void)clsMethod:(int*)arg; 9@end 10 11@class NSDictionary; 12@class NSError; 13 14@interface Foo : NSObject 15- (void)getDonuts:(void (^)(NSDictionary *, NSError *))replyBlock; 16- (void)getCake:(int*)arg, ...; 17@end 18 19@protocol Protocol 20@required 21- (void)getDonuts:(void (^)(NSDictionary *))replyBlock; 22- (void)getCake:(float*)arg, ...; 23+ (void)clsMethod:(float*)arg; 24@end 25 26@implementation Foo 27{ 28 float g; 29} 30 31- (void)getDonuts:(void (^)(NSDictionary *, NSError *))replyBlock { 32 [(id) 0 getDonuts:^(NSDictionary *replyDict) { }]; 33} 34 35- (void) getCake:(int*)arg, ... { 36 [(id)0 getCake: &g, 1,3.14]; 37} 38@end 39 40void func( Class c, float g ) { 41 [c clsMethod: &g]; 42} 43 44// rdar://18095772 45@protocol NSKeyedArchiverDelegate @end 46 47@interface NSKeyedArchiver 48@property (assign) id <NSKeyedArchiverDelegate> delegate; 49@end 50 51@interface NSConnection 52@property (assign) id delegate; 53@end 54 55extern id NSApp; 56 57@interface AppDelegate 58@end 59 60AppDelegate* GetDelegate() 61{ 62 return [NSApp delegate]; 63} 64