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