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