1 // RUN: %clang_cc1 -triple x86_64-apple-darwin9 -fsyntax-only -verify -Wno-objc-root-class %s 2 3 @interface I 4 - Meth; // expected-note 2 {{method 'Meth' declared here}} 5 - unavailableMeth __attribute__((availability(macosx,unavailable))); 6 - unavailableMeth2 __attribute__((unavailable)); 7 @end 8 9 @implementation I // expected-warning {{method definition for 'Meth' not found}} 10 @end 11 12 @implementation I(CAT) 13 - Meth {return 0;} // expected-warning {{category is implementing a method which will also be implemented by its primary class}} 14 @end 15 16 #pragma GCC diagnostic ignored "-Wincomplete-implementation" 17 @interface I2 18 - Meth; // expected-note{{method 'Meth' declared here}} 19 @end 20 21 @implementation I2 22 @end 23 24 @implementation I2(CAT) 25 - Meth {return 0;} // expected-warning {{category is implementing a method which will also be implemented by its primary class}} 26 @end 27 28 @interface Q 29 @end 30 31 // rdar://10336158 32 @implementation Q 33 34 __attribute__((visibility("default"))) 35 @interface QN // expected-error {{Objective-C declarations may only appear in global scope}} 36 { 37 } 38 @end 39 40 @end 41 42 // rdar://15580969 43 typedef char BOOL; 44 45 @protocol NSObject 46 - (BOOL)isEqual:(id)object; 47 @end 48 49 @interface NSObject <NSObject> 50 @end 51 52 @protocol NSApplicationDelegate <NSObject> 53 - (void)ImpleThisMethod; // expected-note {{method 'ImpleThisMethod' declared here}} 54 @end 55 56 @interface AppDelegate : NSObject <NSApplicationDelegate> 57 @end 58 59 @implementation AppDelegate (MRRCategory) 60 61 - (BOOL)isEqual:(id)object 62 { 63 return __objc_no; 64 } 65 66 - (void)ImpleThisMethod {} // expected-warning {{category is implementing a method which will also be implemented by its primary class}} 67 @end 68