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