1 | // RUN: %clang_cc1 %s -fblocks -triple x86_64-apple-darwin -emit-llvm -o - | FileCheck %s |
2 | |
3 | struct S { |
4 | S(const char *); |
5 | ~S(); |
6 | }; |
7 | |
8 | struct 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 | |
18 | void 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 | |