Home | History | Annotate | Download | only in DebugInfo
      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