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