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