RUN: llvm-dwarfdump -v %p/Inputs/dwarfdump-objc.x86_64.o | FileCheck %s RUN: not llvm-dwarfdump -verify %p/Inputs/dwarfdump-objc.x86_64.o | FileCheck %s --check-prefix=VERIFY 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: 0x1 CHECK: Hash function: 0x0 CHECK: Bucket count: 21 CHECK: Hashes count: 42 CHECK: HeaderData length: 12 CHECK: DIE offset base: 0 CHECK: Number of atoms: 1 CHECK: Atom 0 { CHECK-NEXT: Type: DW_ATOM_die_offset CHECK-NEXT: Form: DW_FORM_data4 Check that the accelerators point to the right DIEs. CHECK: String:{{.*}}"-[TestInterface ReadOnly]" CHECK-NOT: String CHECK: Atom[0]: [[READONLY]] Check that empty buckets are handled correctly. CHECK: Bucket 3 CHECK: EMPTY CHECK: Bucket 4 Check that the accelerators point to the right DIEs. CHECK: String:{{.*}}"-[TestInterface Assign]" CHECK-NOT: String CHECK: Atom[0]: [[ASSIGN]] CHECK: String:{{.*}}"-[TestInterface setAssign:]" CHECK-NOT: String CHECK: Atom[0]: [[SETASSIGN]] Check that types are referenced correctly. CHECK: .apple_types contents: CHECK: String:{{.*}}"TestInterface" CHECK-NOT: String CHECK: Atom[0]: [[TESTINTERFACE]] Check that an empty accelerator section is handled correctly. CHECK: .apple_namespaces contents: CHECK-NOT: Magic Check ObjC specific accelerators. CHECK: .apple_objc contents: CHECK: String{{.*}}"TestInterface" CHECK-NOT: String CHECK: Atom[0]: [[READONLY]] CHECK: Atom[0]: [[ASSIGN]] CHECK: Atom[0]: [[SETASSIGN]] Verify the debug info in the apple_names accelerator table. VERIFY: Verifying .apple_names... VERIFY-NEXT: Verifying .apple_types... VERIFY-NEXT: Verifying .apple_namespaces... VERIFY-NEXT: error: Section too small: cannot read buckets and hashes. VERIFY-NEXT: Verifying .apple_objc... VERIFY-NEXT: Errors detected.