35 lines · plain
1// RUN: %clang_cc1 -triple x86_64-apple-macosx10 -emit-llvm -x objective-c %s -o - | FileCheck %s2 3// CHECK: define internal zeroext i1 @"\01-[A0 p]"(4// CHECK: %[[ATOMIC_LOAD:.*]] = load atomic i8, ptr %{{.*}} seq_cst, align 15// CHECK: %[[TOBOOL:.*]] = trunc i8 %[[ATOMIC_LOAD]] to i16// CHECK: ret i1 %[[TOBOOL]]7 8// CHECK: define internal void @"\01-[A0 setP:]"({{.*}} i1 noundef zeroext {{.*}})9// CHECK: store atomic i8 %{{.*}}, ptr %{{.*}} seq_cst, align 110// CHECK: ret void11 12// CHECK: define internal zeroext i1 @"\01-[A1 p]"(13// CHECK: %[[ATOMIC_LOAD:.*]] = load atomic i8, ptr %{{.*}} unordered, align 114// CHECK: %[[TOBOOL:.*]] = trunc i8 %load to i115// CHECK: ret i1 %[[TOBOOL]]16 17// CHECK: define internal void @"\01-[A1 setP:]"({{.*}} i1 noundef zeroext %p)18// CHECK: store atomic i8 %{{.*}}, ptr %{{.*}} unordered, align 119// CHECK: ret void20 21@interface A022@property(nonatomic) _Atomic(_Bool) p;23@end24@implementation A025@end26 27@interface A1 {28 _Atomic(_Bool) p;29}30@property _Atomic(_Bool) p;31@end32@implementation A133@synthesize p;34@end35