Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / clang / test / SemaObjC / incomplete-implementation.m
blobcd5bddc96b87392c8c13334a5c7b8202e00c85d7
1 // RUN: %clang_cc1 -triple x86_64-apple-darwin9 -fsyntax-only -verify -Wno-objc-root-class %s
3 @interface I
4 - Meth; // expected-note 2 {{method 'Meth' declared here}}
5 - unavailableMeth __attribute__((availability(macosx,unavailable)));
6 - unavailableMeth2 __attribute__((unavailable));
7 @end
9 @implementation  I  // expected-warning {{method definition for 'Meth' not found}}
10 @end
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
16 @interface MyClass
17 -(void)mymeth __attribute__((availability(macos, introduced=100))); // expected-note{{here}}
18 @end
19 @implementation MyClass // expected-warning{{'mymeth' not found}}
20 @end
22 #pragma GCC diagnostic ignored "-Wincomplete-implementation"
23 @interface I2
24 - Meth; // expected-note{{method 'Meth' declared here}}
25 @end
27 @implementation  I2
28 @end
30 @implementation I2(CAT)
31 - Meth {return 0;} // expected-warning {{category is implementing a method which will also be implemented by its primary class}}
32 @end
34 @interface Q
35 @end
37 @implementation Q
39 __attribute__((visibility("default")))
40 @interface QN // expected-error {{Objective-C declarations may only appear in global scope}}
43 @end
45 @end
47 typedef char BOOL;
49 @protocol NSObject
50 - (BOOL)isEqual:(id)object;
51 @end
53 @interface NSObject <NSObject>
54 @end
56 @protocol NSApplicationDelegate <NSObject>
57 - (void)ImpleThisMethod; // expected-note {{method 'ImpleThisMethod' declared here}}
58 @end
60 @interface AppDelegate : NSObject <NSApplicationDelegate>
61 @end
63 @implementation AppDelegate (MRRCategory)
65 - (BOOL)isEqual:(id)object
67     return __objc_no;
70 - (void)ImpleThisMethod {} // expected-warning {{category is implementing a method which will also be implemented by its primary class}}
71 @end