Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / clang / test / SemaObjC / method-undef-category-warn-1.m
blob214acbdd2bf05547cba29a643d14704161e88621
1 // RUN: %clang_cc1 -fsyntax-only -verify %s
3 @interface MyClass1
4 @end
6 @protocol P
7 - (void) Pmeth;  // expected-note {{method 'Pmeth' declared here}}
8 - (void) Pmeth1;  // expected-note {{method 'Pmeth1' declared here}}
9 @end
11 @interface MyClass1(CAT) <P>
12 - (void) meth2;              // expected-note {{method 'meth2' declared here}}
13 @end
15 @implementation MyClass1(CAT) // expected-warning {{method 'Pmeth' in protocol 'P' not implemented}} \
16                               // expected-warning {{method definition for 'meth2' not found}}
17 - (void) Pmeth1{}
18 @end
20 @interface MyClass1(DOG) <P>
21 - (void)ppp;                 // expected-note {{method 'ppp' declared here}}
22 @end
24 @implementation MyClass1(DOG) // expected-warning {{method 'Pmeth1' in protocol 'P' not implemented}} \
25                               // expected-warning {{method definition for 'ppp' not found}}
26 - (void) Pmeth {}
27 @end
29 @implementation MyClass1(CAT1)
30 @end
32 @class NSString;
34 @protocol NSObject
35 - (NSString *)meth_inprotocol;
36 @end
38 @interface NSObject <NSObject>
39 - (NSString *)description;
40 + (NSString *) cls_description;
41 @end
43 @protocol Foo 
44 - (NSString *)description;
45 + (NSString *) cls_description;
46 @end
48 @interface NSObject (FooConformance) <Foo>
49 @end
51 @implementation NSObject (FooConformance)
52 @end
54 // Don't warn when a category does not implemented a method imported
55 // by its protocol because another category has its declaration and
56 // that category will implement it.
57 @interface NSOrderedSet @end
59 @interface NSOrderedSet(CoolectionImplements)
60 - (unsigned char)containsObject:(id)object;
61 @end
63 @protocol Collection
64 - (unsigned char)containsObject:(id)object;
65 @end
67 @interface NSOrderedSet (CollectionConformance) <Collection>
68 @end
70 @implementation NSOrderedSet (CollectionConformance)
71 @end