1// RUN: %clang_cc1 %s -emit-llvm -o - -fblocks | FileCheck %s 2// rdar://8594790 3 4struct A { 5 int x; 6 A(const A &); 7 A(); 8 ~A(); 9}; 10 11int main() 12{ 13 __block A BYREF_VAR; 14 ^{ BYREF_VAR.x = 1234; }; 15 return 0; 16} 17 18// CHECK: define internal void @__Block_byref_object_copy_ 19// CHECK: call {{.*}} @_ZN1AC1ERKS_ 20// CHECK: define internal void @__Block_byref_object_dispose_ 21// CHECK: call {{.*}} @_ZN1AD1Ev 22// CHECK: define internal void @__copy_helper_block_ 23// CHECK: call void @_Block_object_assign 24// CHECK: define internal void @__destroy_helper_block_ 25// CHECK: call void @_Block_object_dispose 26