33 lines · plain
1// RUN: %clang_cc1 %s -triple x86_64-apple-darwin10 -fobjc-runtime=macosx-fragile-10.5 -emit-llvm -o - | FileCheck %s2 3struct Foo {int i;};4static Foo gFoo;5 6 7@interface ObjCTest { }8@property (nonatomic, readonly) Foo& FooRefProperty;9@property (nonatomic) Foo FooProperty;10- (Foo &) FooProperty;11- (void)setFooProperty : (Foo &) arg;12@end13 14 15@implementation ObjCTest16@dynamic FooRefProperty;17 18-(void) test {19 Foo& f = self.FooRefProperty;20 Foo& f1 = self.FooProperty;21}22- (Foo &) FooProperty { return gFoo; }23- (void)setFooProperty : (Foo &) arg { };24@end25 26// CHECK: [[T0:%.*]] = load {{.*}} [[S0:%.*]]27// CHECK: load ptr, ptr @OBJC_SELECTOR_REFERENCES_28// CHECK: @objc_msgSend29// CHECK: [[R0:%.*]] = load {{.*}} [[U0:%.*]]30// CHECK: load ptr, ptr @OBJC_SELECTOR_REFERENCES_31// CHECK: @objc_msgSend32 33