mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 11:42:57 +01:00
3ebefbe21f
This reverts commit r221842 which was a revert of r221836 and of the test parts of r221837. This new version fixes an UB bug pointed out by David (along with addressing some other review comments), makes some dumping more resilient to broken input data and forces the accelerator tables to be dumped in the tests where we use them (this decision is platform specific otherwise). llvm-svn: 222003
64 lines
1.9 KiB
Plaintext
64 lines
1.9 KiB
Plaintext
RUN: llvm-dwarfdump %p/Inputs/dwarfdump-objc.x86_64.o | FileCheck %s
|
|
|
|
Gather some DIE indexes to verify the accelerator table contents.
|
|
CHECK: .debug_info contents
|
|
CHECK: [[TESTINTERFACE:0x[0-9a-f]*]]:{{.*}}DW_TAG_structure_type
|
|
CHECK-NOT: DW_TAG
|
|
CHECK: DW_AT_name{{.*}}"TestInterface"
|
|
CHECK: [[READONLY:0x[0-9a-f]*]]:{{.*}}DW_TAG_subprogram
|
|
CHECK-NOT: DW_TAG
|
|
CHECK: DW_AT_name{{.*}}"-[TestInterface ReadOnly]"
|
|
CHECK: [[ASSIGN:0x[0-9a-f]*]]:{{.*}}DW_TAG_subprogram
|
|
CHECK-NOT: DW_TAG
|
|
CHECK: DW_AT_name{{.*}}"-[TestInterface Assign]"
|
|
CHECK: [[SETASSIGN:0x[0-9a-f]*]]:{{.*}}DW_TAG_subprogram
|
|
CHECK-NOT: DW_TAG
|
|
CHECK: DW_AT_name{{.*}}"-[TestInterface setAssign:]"
|
|
|
|
|
|
Check that the section header is printed correclty.
|
|
CHECK: .apple_names contents:
|
|
CHECK: Magic = 0x48415348
|
|
CHECK: Version = 0x0001
|
|
CHECK: Hash function = 0x00000000
|
|
CHECK: Bucket count = 11
|
|
CHECK: Hashes count = 22
|
|
CHECK: HeaderData length = 12
|
|
CHECK: DIE offset base = 0
|
|
CHECK: Number of atoms = 1
|
|
CHECK: Atom[0] Type: DW_ATOM_die_offset Form: DW_FORM_data4
|
|
|
|
Check that empty buckets are handled correctly.
|
|
CHECK: Bucket[2]
|
|
CHECK: EMPTY
|
|
CHECK: Bucket[3]
|
|
|
|
Check that the accelerators point to the right DIEs.
|
|
CHECK: Name:{{.*}}"-[TestInterface ReadOnly]"
|
|
CHECK-NOT: Name
|
|
CHECK: {Atom[0]: [[READONLY]]}
|
|
CHECK: Name:{{.*}}"-[TestInterface setAssign:]"
|
|
CHECK-NOT: Name
|
|
CHECK: {Atom[0]: [[SETASSIGN]]}
|
|
CHECK: Name:{{.*}}"-[TestInterface Assign]"
|
|
CHECK-NOT: Name
|
|
CHECK: {Atom[0]: [[ASSIGN]]}
|
|
|
|
Check that types are referenced correctly.
|
|
CHECK: .apple_types contents:
|
|
CHECK: Name{{.*}}"TestInterface"
|
|
CHECK-NOT: Name
|
|
CHECK: {Atom[0]: [[TESTINTERFACE]]}
|
|
|
|
Check that an empty ecceleratorsection is handled correctly.
|
|
CHECK: .apple_namespaces contents:
|
|
CHECK-NOT: Magic
|
|
|
|
Check ObjC specific accelerators.
|
|
CHECK: .apple_objc contents:
|
|
CHECK: Name{{.*}}"TestInterface"
|
|
CHECK-NOT Name
|
|
CHECK: {Atom[0]: [[READONLY]]}
|
|
CHECK: {Atom[0]: [[ASSIGN]]}
|
|
CHECK: {Atom[0]: [[SETASSIGN]]}
|