diff options
Diffstat (limited to 'test/DebugInfo/dwarfdump-accel.test')
-rw-r--r-- | test/DebugInfo/dwarfdump-accel.test | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/test/DebugInfo/dwarfdump-accel.test b/test/DebugInfo/dwarfdump-accel.test new file mode 100644 index 0000000..c5c3b01 --- /dev/null +++ b/test/DebugInfo/dwarfdump-accel.test @@ -0,0 +1,63 @@ +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]]} |