// RUN: %clang_cc1 -triple x86_64-apple-macosx10 -emit-llvm -x objective-c %s -o - | FileCheck %s // CHECK: define internal zeroext i1 @"\01-[A0 p]"( // CHECK: %[[ATOMIC_LOAD:.*]] = load atomic i8, i8* %{{.*}} seq_cst // CHECK: %[[TOBOOL:.*]] = trunc i8 %[[ATOMIC_LOAD]] to i1 // CHECK: ret i1 %[[TOBOOL]] // CHECK: define internal void @"\01-[A0 setP:]"({{.*}} i1 zeroext {{.*}}) // CHECK: store atomic i8 %{{.*}}, i8* %{{.*}} seq_cst // CHECK: ret void // CHECK: define internal zeroext i1 @"\01-[A1 p]"( // CHECK: %[[ATOMIC_LOAD:.*]] = load atomic i8, i8* %{{.*}} unordered // CHECK: %[[TOBOOL:.*]] = trunc i8 %load to i1 // CHECK: ret i1 %[[TOBOOL]] // CHECK: define internal void @"\01-[A1 setP:]"({{.*}} i1 zeroext %p) // CHECK: store atomic i8 %{{.*}}, i8* %{{.*}} unordered // CHECK: ret void @interface A0 @property(nonatomic) _Atomic(_Bool) p; @end @implementation A0 @end @interface A1 { _Atomic(_Bool) p; } @property _Atomic(_Bool) p; @end @implementation A1 @synthesize p; @end