copy-in-cplus-object.cpp revision ac7362dedab6002a0811f47ccfcaf81a9c728d35
1// RUN: %clang_cc1 %s -fblocks -triple x86_64-apple-darwin -emit-llvm -o - | FileCheck %s
2
3struct S {
4  S(const char *);
5  ~S();
6};
7
8struct TestObject
9{
10	TestObject(const TestObject& inObj, int def = 100,  const S &Silly = "silly");
11	TestObject();
12	~TestObject();
13	TestObject& operator=(const TestObject& inObj);
14	int version() const;
15
16};
17
18void testRoutine() {
19    TestObject one;
20    int (^V)() = ^{ return one.version(); };
21}
22
23// CHECK: call void @_ZN10TestObjectC1Ev
24// CHECK: call void @_ZN1SC1EPKc
25// CHECK: call void @_ZN10TestObjectC1ERKS_iRK1S
26// CHECK: call void @_ZN1SD1Ev
27// CHECK: call void @_ZN10TestObjectD1Ev
28// CHECK: call void @_ZN10TestObjectD1Ev
29