diff options
Diffstat (limited to 'clang/test/SemaObjC/bad-property-synthesis-crash.m')
-rw-r--r-- | clang/test/SemaObjC/bad-property-synthesis-crash.m | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/clang/test/SemaObjC/bad-property-synthesis-crash.m b/clang/test/SemaObjC/bad-property-synthesis-crash.m new file mode 100644 index 0000000..ea4e004 --- /dev/null +++ b/clang/test/SemaObjC/bad-property-synthesis-crash.m @@ -0,0 +1,23 @@ +// RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s +// rdar://10177744 + +@interface Foo +@property (nonatomic, retain) NSString* what; // expected-error {{unknown type name 'NSString'}} \ + // expected-error {{property with}} \ + // expected-note {{previous definition is here}} +@end + +@implementation Foo +- (void) setWhat: (NSString*) value { // expected-error {{expected a type}} \ + // expected-warning {{conflicting parameter types in implementation of}} + __what; // expected-error {{use of undeclared identifier}} \ + // expected-warning {{expression result unused}} +} +@synthesize what; // expected-note 2 {{'what' declared here}} +@end + +@implementation Bar // expected-warning {{cannot find interface declaration for}} +- (NSString*) what { // expected-error {{expected a type}} + return __what; // expected-error {{use of undeclared identifier}} +} +@end |