1*67e74705SXin Li// RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s 2*67e74705SXin Li// rdar://10177744 3*67e74705SXin Li 4*67e74705SXin Li@interface Foo 5*67e74705SXin Li@property (nonatomic, retain) NSString* what; // expected-error {{unknown type name 'NSString'}} \ 6*67e74705SXin Li // expected-error {{property with}} \ 7*67e74705SXin Li // expected-note {{previous definition is here}} 8*67e74705SXin Li@end 9*67e74705SXin Li 10*67e74705SXin Li@implementation Foo 11*67e74705SXin Li- (void) setWhat: (NSString*) value { // expected-error {{expected a type}} \ 12*67e74705SXin Li // expected-warning {{conflicting parameter types in implementation of}} 13*67e74705SXin Li __what; // expected-error {{use of undeclared identifier}} \ 14*67e74705SXin Li // expected-warning {{expression result unused}} 15*67e74705SXin Li} 16*67e74705SXin Li@synthesize what; // expected-note {{'what' declared here}} 17*67e74705SXin Li@end 18*67e74705SXin Li 19*67e74705SXin Li@implementation Bar // expected-warning {{cannot find interface declaration for}} 20*67e74705SXin Li- (NSString*) what { // expected-error {{expected a type}} 21*67e74705SXin Li return __what; // expected-error {{use of undeclared identifier}} 22*67e74705SXin Li} 23*67e74705SXin Li@end 24