diff options
Diffstat (limited to 'clang/test/SemaObjC/assign-rvalue-message.m')
-rw-r--r-- | clang/test/SemaObjC/assign-rvalue-message.m | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/clang/test/SemaObjC/assign-rvalue-message.m b/clang/test/SemaObjC/assign-rvalue-message.m new file mode 100644 index 0000000..1105d5e --- /dev/null +++ b/clang/test/SemaObjC/assign-rvalue-message.m @@ -0,0 +1,24 @@ +// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fsyntax-only -verify -Wno-objc-root-class %s +// RUN: %clang_cc1 -x objective-c++ -triple x86_64-apple-darwin10 -fsyntax-only -verify -Wno-objc-root-class %s +// rdar://9005189 + +@interface Foo +@end + +struct Bar { + int x; +}; + +@implementation Foo { + struct Bar bar; +} + +- (const struct Bar)bar { + return bar; +} + +- (void)baz { + bar.x = 0; + [self bar].x = 10; // expected-error {{assigning to 'readonly' return result of an objective-c message not allowed}} +} +@end |