]>
Commit | Line | Data |
---|---|---|
85aaf69f SL |
1 | RUN: llvm-dwarfdump %p/Inputs/dwarfdump-objc.x86_64.o | FileCheck %s |
2 | ||
3 | Gather some DIE indexes to verify the accelerator table contents. | |
4 | CHECK: .debug_info contents | |
5 | CHECK: [[TESTINTERFACE:0x[0-9a-f]*]]:{{.*}}DW_TAG_structure_type | |
6 | CHECK-NOT: DW_TAG | |
7 | CHECK: DW_AT_name{{.*}}"TestInterface" | |
8 | CHECK: [[READONLY:0x[0-9a-f]*]]:{{.*}}DW_TAG_subprogram | |
9 | CHECK-NOT: DW_TAG | |
10 | CHECK: DW_AT_name{{.*}}"-[TestInterface ReadOnly]" | |
11 | CHECK: [[ASSIGN:0x[0-9a-f]*]]:{{.*}}DW_TAG_subprogram | |
12 | CHECK-NOT: DW_TAG | |
13 | CHECK: DW_AT_name{{.*}}"-[TestInterface Assign]" | |
14 | CHECK: [[SETASSIGN:0x[0-9a-f]*]]:{{.*}}DW_TAG_subprogram | |
15 | CHECK-NOT: DW_TAG | |
16 | CHECK: DW_AT_name{{.*}}"-[TestInterface setAssign:]" | |
17 | ||
18 | ||
19 | Check that the section header is printed correclty. | |
20 | CHECK: .apple_names contents: | |
21 | CHECK: Magic = 0x48415348 | |
22 | CHECK: Version = 0x0001 | |
23 | CHECK: Hash function = 0x00000000 | |
24 | CHECK: Bucket count = 11 | |
25 | CHECK: Hashes count = 22 | |
26 | CHECK: HeaderData length = 12 | |
27 | CHECK: DIE offset base = 0 | |
28 | CHECK: Number of atoms = 1 | |
29 | CHECK: Atom[0] Type: DW_ATOM_die_offset Form: DW_FORM_data4 | |
30 | ||
31 | Check that empty buckets are handled correctly. | |
32 | CHECK: Bucket[2] | |
33 | CHECK: EMPTY | |
34 | CHECK: Bucket[3] | |
35 | ||
36 | Check that the accelerators point to the right DIEs. | |
37 | CHECK: Name:{{.*}}"-[TestInterface ReadOnly]" | |
38 | CHECK-NOT: Name | |
39 | CHECK: {Atom[0]: [[READONLY]]} | |
40 | CHECK: Name:{{.*}}"-[TestInterface setAssign:]" | |
41 | CHECK-NOT: Name | |
42 | CHECK: {Atom[0]: [[SETASSIGN]]} | |
43 | CHECK: Name:{{.*}}"-[TestInterface Assign]" | |
44 | CHECK-NOT: Name | |
45 | CHECK: {Atom[0]: [[ASSIGN]]} | |
46 | ||
47 | Check that types are referenced correctly. | |
48 | CHECK: .apple_types contents: | |
49 | CHECK: Name{{.*}}"TestInterface" | |
50 | CHECK-NOT: Name | |
51 | CHECK: {Atom[0]: [[TESTINTERFACE]]} | |
52 | ||
53 | Check that an empty ecceleratorsection is handled correctly. | |
54 | CHECK: .apple_namespaces contents: | |
55 | CHECK-NOT: Magic | |
56 | ||
57 | Check ObjC specific accelerators. | |
58 | CHECK: .apple_objc contents: | |
59 | CHECK: Name{{.*}}"TestInterface" | |
60 | CHECK-NOT Name | |
61 | CHECK: {Atom[0]: [[READONLY]]} | |
62 | CHECK: {Atom[0]: [[ASSIGN]]} | |
63 | CHECK: {Atom[0]: [[SETASSIGN]]} |