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 = 11 25CHECK: Hashes count = 22 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 empty buckets are handled correctly. 32CHECK: Bucket[2] 33CHECK: EMPTY 34CHECK: Bucket[3] 35 36Check that the accelerators point to the right DIEs. 37CHECK: Name:{{.*}}"-[TestInterface ReadOnly]" 38CHECK-NOT: Name 39CHECK: {Atom[0]: [[READONLY]]} 40CHECK: Name:{{.*}}"-[TestInterface setAssign:]" 41CHECK-NOT: Name 42CHECK: {Atom[0]: [[SETASSIGN]]} 43CHECK: Name:{{.*}}"-[TestInterface Assign]" 44CHECK-NOT: Name 45CHECK: {Atom[0]: [[ASSIGN]]} 46 47Check that types are referenced correctly. 48CHECK: .apple_types contents: 49CHECK: Name{{.*}}"TestInterface" 50CHECK-NOT: Name 51CHECK: {Atom[0]: [[TESTINTERFACE]]} 52 53Check that an empty ecceleratorsection is handled correctly. 54CHECK: .apple_namespaces contents: 55CHECK-NOT: Magic 56 57Check ObjC specific accelerators. 58CHECK: .apple_objc contents: 59CHECK: Name{{.*}}"TestInterface" 60CHECK-NOT: Name 61CHECK: {Atom[0]: [[READONLY]]} 62CHECK: {Atom[0]: [[ASSIGN]]} 63CHECK: {Atom[0]: [[SETASSIGN]]} 64