32 lines · plain
1// RUN: %clang_cc1 -fsyntax-only -Wno-objc-root-class -verify %s2 3@protocol TestProtocol 4- (void)newProtocolMethod;5- (void)deprecatedProtocolMethod __attribute__((deprecated)); // expected-note 2 {{'deprecatedProtocolMethod' has been explicitly marked deprecated here}}6@end7 8@interface NSObject @end9 10@interface TestClass : NSObject <TestProtocol>11 12- (void)newInstanceMethod;13- (void)deprecatedInstanceMethod __attribute__((deprecated)); // expected-note {{'deprecatedInstanceMethod' has been explicitly marked deprecated here}}14 15@end16 17int main(int argc, const char * argv[])18{19 20 TestClass *testObj = (TestClass*)0;21 [testObj newInstanceMethod];22 [testObj deprecatedInstanceMethod]; // expected-warning {{'deprecatedInstanceMethod' is deprecated}}23 24 [testObj newProtocolMethod];25 [testObj deprecatedProtocolMethod]; // expected-warning {{'deprecatedProtocolMethod' is deprecated}}26 27 id <TestProtocol> testProto = testObj;28 [testProto newProtocolMethod];29 [testProto deprecatedProtocolMethod]; // expected-warning {{'deprecatedProtocolMethod' is deprecated}}30 return 0;31}32