blob: 6f5cfb126332014e90100450f5564fef66e08a0b [file] [log] [blame]
Daniel Dunbar7a0c0642012-10-15 22:23:53 +00001// RUN: %clang_cc1 %s -emit-llvm -fobjc-runtime=macosx-10.8 -triple x86_64-apple-macosx10.8.0 -o - | FileCheck %s
2// RUN: %clang_cc1 %s -emit-llvm -fobjc-runtime=ios-6.0.0 -triple x86_64-apple-ios6.0.0 -o - | FileCheck %s
Ted Kremenekebcb57a2012-03-06 20:05:56 +00003// rdar://10179974
4
5@interface I
6// void objc_setProperty_nonatomic(id self, SEL _cmd, id newValue, ptrdiff_t offset);
7// objc_setProperty(..., NO, NO)
8@property (nonatomic, retain) id nonatomicProperty;
9
10// void objc_setProperty_nonatomic_copy(id self, SEL _cmd, id newValue, ptrdiff_t offset);
11// objc_setProperty(..., NO, YES)
12@property (nonatomic, copy) id nonatomicPropertyCopy;
13
14// void objc_setProperty_atomic(id self, SEL _cmd, id newValue, ptrdiff_t offset);
15// objc_setProperty(..., YES, NO)
16@property (retain) id atomicProperty;
17
18// void objc_setProperty_atomic_copy(id self, SEL _cmd, id newValue, ptrdiff_t offset);
19// objc_setProperty(..., YES, YES)
20@property (copy) id atomicPropertyCopy;
21@end
22
23@implementation I
24@synthesize nonatomicProperty;
25@synthesize nonatomicPropertyCopy;
26@synthesize atomicProperty;
27@synthesize atomicPropertyCopy;
28@end
29
30// CHECK: call void @objc_setProperty_nonatomic
31// CHECK: call void @objc_setProperty_nonatomic_copy
32// CHECK: call void @objc_setProperty_atomic
33// CHECK: call void @objc_setProperty_atomic_copy
34