xref: /aosp_15_r20/external/clang/test/SemaObjC/bad-property-synthesis-crash.m (revision 67e74705e28f6214e480b399dd47ea732279e315)
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