// RUN: %clang_cc1 -fsyntax-only -Wno-objc-root-class -verify %s
// rdar://11618852

@protocol TestProtocol 
- (void)newProtocolMethod;
- (void)deprecatedProtocolMethod __attribute__((deprecated)); // expected-note 2 {{'deprecatedProtocolMethod' has been explicitly marked deprecated here}}
@end

@interface NSObject @end

@interface TestClass : NSObject <TestProtocol>

- (void)newInstanceMethod;
- (void)deprecatedInstanceMethod __attribute__((deprecated)); // expected-note {{'deprecatedInstanceMethod' has been explicitly marked deprecated here}}

@end

int main(int argc, const char * argv[])
{

    TestClass *testObj = (TestClass*)0;
    [testObj newInstanceMethod];
    [testObj deprecatedInstanceMethod]; // expected-warning {{'deprecatedInstanceMethod' is deprecated}}

    [testObj newProtocolMethod];
    [testObj deprecatedProtocolMethod]; // expected-warning {{'deprecatedProtocolMethod' is deprecated}}

    id <TestProtocol> testProto = testObj;
    [testProto newProtocolMethod];
    [testProto deprecatedProtocolMethod]; // expected-warning {{'deprecatedProtocolMethod' is deprecated}}
    return 0;
}
