brintos

brintos / llvm-project-archived public Read only

0
0
Text · 812 B · 26e052b Raw
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