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