// RUN: %clang_cc1 -x objective-c -fsyntax-only -verify -Wno-objc-root-class %s
// RUN: %clang_cc1 -x objective-c++ -fsyntax-only -verify -Wno-objc-root-class %s
// redundant, just for testing
// expected-error {{'objc_requires_property_definitions' attribute only applies to Objective-C interfaces}}
// expected-error {{'objc_requires_property_definitions' attribute only applies to Objective-C interfaces}}
@protocol P @end
// rdar://13388503
// More test where such warnings should not be issued.
// rdar://14085456
// No warning must be issued in this test.
// rdar://14094682
// no warning in this test
// expected-error {{'objc_requires_property_definitions' attribute takes no arguments}}
// rdar://15051465
typedef NSObject<Fooing> FooObject;
// expected-note 2 {{add a '@synthesize' directive}}
// expected-note 2 {{add a '@synthesize' directive}}
// rdar://16089191
@class NSURL;