78 lines · plain
1RUN: llvm-dwarfdump -v %p/Inputs/dwarfdump-objc.x86_64.o | FileCheck %s2RUN: not llvm-dwarfdump -error-display=details -verify %p/Inputs/dwarfdump-objc.x86_64.o | FileCheck %s --check-prefix=VERIFY3 4Gather some DIE indexes to verify the accelerator table contents.5CHECK: .debug_info contents6CHECK: [[TESTINTERFACE:0x[0-9a-f]*]]:{{.*}}DW_TAG_structure_type7CHECK-NOT: DW_TAG8CHECK: DW_AT_name{{.*}}"TestInterface"9CHECK: [[READONLY:0x[0-9a-f]*]]:{{.*}}DW_TAG_subprogram10CHECK-NOT: DW_TAG11CHECK: DW_AT_name{{.*}}"-[TestInterface ReadOnly]"12CHECK: [[ASSIGN:0x[0-9a-f]*]]:{{.*}}DW_TAG_subprogram13CHECK-NOT: DW_TAG14CHECK: DW_AT_name{{.*}}"-[TestInterface Assign]"15CHECK: [[SETASSIGN:0x[0-9a-f]*]]:{{.*}}DW_TAG_subprogram16CHECK-NOT: DW_TAG17CHECK: DW_AT_name{{.*}}"-[TestInterface setAssign:]"18 19 20Check that the section header is printed correclty.21CHECK: .apple_names contents:22CHECK: Magic: 0x4841534823CHECK: Version: 0x124CHECK: Hash function: 0x025CHECK: Bucket count: 2126CHECK: Hashes count: 4227CHECK: HeaderData length: 1228CHECK: DIE offset base: 029CHECK: Number of atoms: 130 31CHECK: Atom 0 {32CHECK-NEXT: Type: DW_ATOM_die_offset33CHECK-NEXT: Form: DW_FORM_data434 35Check that the accelerators point to the right DIEs.36CHECK: String:{{.*}}"-[TestInterface ReadOnly]"37CHECK-NOT: String38CHECK: Atom[0]: [[READONLY]]39 40Check that empty buckets are handled correctly.41CHECK: Bucket 342CHECK: EMPTY43CHECK: Bucket 444 45Check that the accelerators point to the right DIEs.46CHECK: String:{{.*}}"-[TestInterface Assign]"47CHECK-NOT: String48CHECK: Atom[0]: [[ASSIGN]]49CHECK: String:{{.*}}"-[TestInterface setAssign:]"50CHECK-NOT: String51CHECK: Atom[0]: [[SETASSIGN]]52 53Check that types are referenced correctly.54CHECK: .apple_types contents:55CHECK: String:{{.*}}"TestInterface"56CHECK-NOT: String57CHECK: Atom[0]: [[TESTINTERFACE]]58 59Check that an empty accelerator section is handled correctly.60CHECK: .apple_namespaces contents:61CHECK-NOT: Magic62 63Check ObjC specific accelerators.64CHECK: .apple_objc contents:65CHECK: String{{.*}}"TestInterface"66CHECK-NOT: String67CHECK: Atom[0]: [[READONLY]]68CHECK: Atom[0]: [[ASSIGN]]69CHECK: Atom[0]: [[SETASSIGN]]70 71Verify the debug info in the apple_names accelerator table.72VERIFY: Verifying .apple_names...73VERIFY-NEXT: Verifying .apple_types...74VERIFY-NEXT: Verifying .apple_namespaces...75VERIFY-NEXT: error: Section too small: cannot read buckets and hashes.76VERIFY-NEXT: Verifying .apple_objc...77VERIFY-NEXT: Errors detected.78