summaryrefslogtreecommitdiffstats
path: root/test/CodeGenCXX/block-byref-cxx-objc.cpp
blob: 135e0c7551942bbb5c023ce560a22295aed5fc1a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// RUN: %clang_cc1 %s -emit-llvm -o - -fblocks | FileCheck %s
// rdar://8594790

struct A {
	int x;
	A(const A &);
	A();
	~A();
};

int main()
{
	__block A BYREF_VAR;
        ^{ BYREF_VAR.x = 1234; };
	return 0;
}

// CHECK: define internal void @__Block_byref_object_copy_
// CHECK: call {{.*}} @_ZN1AC1ERKS_
// CHECK: define internal void @__Block_byref_object_dispose_
// CHECK: call {{.*}} @_ZN1AD1Ev
// CHECK: define internal void @__copy_helper_block_
// CHECK: call void @_Block_object_assign
// CHECK: define internal void @__destroy_helper_block_
// CHECK: call void @_Block_object_dispose
OpenPOWER on IntegriCloud