arc-weak-property.m [plain text]
// RUN: // rdar://8899430
@interface WeakPropertyTest {
__weak id PROP;
}
@property () __weak id PROP;
@end
@implementation WeakPropertyTest
@synthesize PROP;
@end
// CHECK: define internal i8* @"\01-[WeakPropertyTest PROP]"
// CHECK: [[SELF:// CHECK-NEXT: [[CMD:// CHECK-NEXT: store [[WPT]]* {{// CHECK-NEXT: store i8* {{// CHECK-NEXT: [[T0:// CHECK-NEXT: [[T1:// CHECK-NEXT: [[T2:// CHECK-NEXT: [[T3:// CHECK-NEXT: [[T4:// CHECK-NEXT: [[T5:// CHECK-NEXT: [[T6:// CHECK-NEXT: ret i8* [[T6]]
// CHECK: define internal void @"\01-[WeakPropertyTest setPROP:]"
// CHECK: [[SELF:// CHECK-NEXT: [[CMD:// CHECK-NEXT: [[PROP:// CHECK-NEXT: store [[WPT]]* {{// CHECK-NEXT: store i8* {{// CHECK-NEXT: store i8* {{// CHECK-NEXT: [[V:// CHECK-NEXT: [[T0:// CHECK-NEXT: [[T1:// CHECK-NEXT: [[T2:// CHECK-NEXT: [[T3:// CHECK-NEXT: [[T4:// CHECK-NEXT: call i8* @objc_storeWeak(i8** [[T4]], i8* [[V]])
// CHECK-NEXT: ret void
// CHECK: define internal void @"\01-[WeakPropertyTest .cxx_destruct]"
// CHECK: [[SELF:// CHECK-NEXT: [[CMD:// CHECK-NEXT: store [[WPT]]* {{// CHECK-NEXT: store i8* {{// CHECK-NEXT: [[T0:// CHECK-NEXT: [[T1:// CHECK-NEXT: [[T2:// CHECK-NEXT: [[T3:// CHECK-NEXT: [[T4:// CHECK-NEXT: call void @objc_destroyWeak(i8** [[T4]])
// CHECK-NEXT: ret void